为啥自己跑是0,洛谷是2,就错了第二个
查看原帖
为啥自己跑是0,洛谷是2,就错了第二个
1435655
shan_hai_wind楼主2024/10/24 12:36
#include <bits/stdc++.h>
using namespace std;

int main()
{
    int nums[104][104]={0};
    int n,m,k;
    cin>>n>>m>>k;

    while(m--) //火把
    {
        int x,y;
        cin>>x>>y;
        x+=2;
        y+=2;
        nums[x][y]=1;
        nums[x-1][y]=1;
        nums[x-2][y]=1;
        nums[x][y-1]=1;
        nums[x][y-2]=1;
        nums[x+1][y]=1;
        nums[x+2][y]=1;
        nums[x][y+1]=1;
        nums[x][y+2]=1;
        nums[x-1][y-1]=1;
        nums[x-1][y+1]=1;
        nums[x+1][y-1]=1;
        nums[x+1][y+1]=1;
    }
    
    while(k--)
    {
        int o1,o2;
        cin>>o1>>o2;
        
        o1+=2;
        o2+=2;
        for(int i=o1-2;i<=o1+2;i++)
        {
            for(int j=o2-2;j<=o2+2;j++)
            {
                nums[i][j] = 1;
            }
        }
    }
    int count=0;
    for(int i=2;i<n+2;i++)
    {
        for(int j=2;j<n+2;j++)
        {
            if(nums[i][j] == 0)
            {
                count++;
            }
        }
    }
    cout<<count<<endl;
    return 0;
}
2024/10/24 12:36
加载中...