数组越界,但是不知道怎么改
#include<algorithm>
#include<cmath>
#include<iostream>
#include<string>
#include<cstdio>
//#include"BetterMath.h"
using namespace std;
int map[105][105];
int main() {
int n;
cin >> n;
int m, k;
cin >> m >> k;
for (int i = 0; i < m; i++) {
int firex, firey;
cin >> firex >> firey;
firex--;
firey--;
map[firex][firey]++;
map[firex][firey - 1]++;
map[firex][firey - 2]++;
map[firex][firey + 1]++;
map[firex][firey + 2]++;
map[firex - 1][firey]++;
map[firex - 2][firey]++;
map[firex + 1][firey]++;
map[firex + 2][firey]++;
map[firex - 1][firey - 1]++;
map[firex + 1][firey - 1]++;
map[firex - 1][firey + 1]++;
map[firex + 1][firey + 1]++;
}
for (int i = 0; i < k; i++) {
int kingx, kingy;
cin >> kingx >> kingy;
kingx--;
kingy--;
for (int x = kingx - 2; x <= kingx + 2; x++) {
for (int y = kingy - 2; y <= kingy + 2; y++) {
map[x][y]++;
}
}
}
int ans = 0;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
if (map[i][j] == 0)
ans++;
}
}
cout << ans;
/*cout << endl << "*********************************" << endl;
for (int i = 0; i < n; i++) {
for (int j = 0; j < n; j++) {
cout << map[i][j]<<" ";
}
cout << endl;
}*/
return 0;
}