为啥从0开始会WA一个,1开始就不会呀
查看原帖
为啥从0开始会WA一个,1开始就不会呀
755222
Lawate楼主2022/10/18 16:12
#include<iostream>
using namespace std;
#include<cmath>
int a[105][105];
int main()
{
    int t = 0;
    int x, y;
    int n, m, k;
    cin >> n >> m >> k;
    for (int q = 0; q < m; q++)
    {
        cin >> x >> y;
        x = x + 2;//防止-2变负数
        y = y + 2;
        for (int i = x - 1; i <= x + 1; i++)
        {
            for (int o = y - 1; o <= y + 1; o++)
            {
                a[i][o] = 1;
            }
        }
        a[x + 2][y] = 1;
        a[x - 2][y] = 1;
        a[x][y + 2] = 1;
        a[x][y - 2] = 1;
    }
    for (int q = 0; q < k; q++)
    {
        cin >> x >> y;
        x = x + 2;//防止-2变负数
        y = y + 2;
        for (int i = x - 2; i <= x + 2; i++)
        {
            for (int o = y - 2; o <= y + 2; o++)
            {
                a[i][o] = 1;
            }
        }
    }
    for (int q = 2; q < n + 2; q++)//不是<=,我是从0开始,矩阵宽n,只要加n次,0到n-1
    {
        for (int j = 2; j < n + 2; j++)//前面+2,这里就不从0开始,2开始
        {
            if (a[q][j] == 0)
            {
                t++;
            }
        }
    }
    cout << t;
    return 0;
}

第二个测试点WA了,求解,感谢!

2022/10/18 16:12
加载中...