为什么会RE,小白求助??

图片说明
图片说明

#include<iostream>
using namespace std;
bool a[10000][10000];
int main() 
{
    int n, m, k;
    int x, y, s = 0;
    cin >> n >> m >> k;
    for (int i = 1; i <= m; i++) 
    {
        cin >> x >> y;
        a[x][y] = 1;
        a[x - 1][y] = 1;
        a[x - 2][y] = 1;
        a[x + 1][y] = 1;
        a[x + 2][y] = 1;
        a[x][y - 1] = 1;
        a[x][y - 2] = 1;
        a[x][y + 1] = 1;
        a[x][y + 2] = 1;
        a[x - 1][y - 1] = 1;
        a[x - 1][y + 1] = 1;
        a[x + 1][y - 1] = 1;
        a[x + 1][y + 1] = 1;
    }
    for (int i = 1; i <= k; i++) 
    {
        cin >> x >> y;
        a[x][y] = 1;
        a[x][y - 1] = 1;
        a[x][y - 2] = 1;
        a[x][y + 1] = 1;
        a[x][y + 2] = 1;
        a[x - 1][y] = 1;
        a[x - 2][y] = 1;
        a[x + 1][y] = 1;
        a[x + 2][y] = 1;
        a[x - 1][y + 1] = 1;
        a[x - 1][y - 1] = 1;
        a[x - 1][y - 2] = 1;
        a[x - 1][y + 2] = 1;
        a[x + 1][y - 1] = 1;
        a[x + 1][y + 1] = 1;
        a[x + 1][y + 2] = 1;
        a[x + 1][y - 2] = 1;
        a[x - 2][y - 2] = 1;
        a[x - 2][y - 1] = 1;
        a[x - 2][y + 1] = 1;
        a[x - 2][y + 2] = 1;
        a[x + 2][y + 2] = 1;
        a[x + 2][y + 1] = 1;
        a[x + 2][y - 1] = 1;
        a[x + 2][y - 2] = 1;
    }
    for (int i = 1; i <= n; i++)
    {
        for (int j = 1; j <= n; j++)
        {
            if (a[i][j] == 0)
            {
                s++;
            }
        }
    }
    cout << s;
    return 0;
}

数组下越界:RE
cin>>x>>y; 添加x=x+2;y=y+2;再赋值。
输出时候
for (int i = 3; i <= n+2; i++)
{
for (int j = 3; j <= n+2; j++)
{