RE一个点,其余全AC,求助
查看原帖
RE一个点,其余全AC,求助
747883
xhz0311楼主2023/2/2 19:10

#include <bits/stdc++.h>
using namespace std;

int main()
{
    int n,m,k;
    cin>>n>>m>>k;
    int a[n+4][n+4];//我特意开大了4个,这样不用判是否越界
    for (int i=0; i<n+4; i++)
    {
        for (int j=0; j<n+4; j++){a[i][j]=0;}//初始化
    }
    for (int i=0; i<m; i++)//火把
    {
        int x,y;
        cin>>x>>y;
        a[x+2][y+2]++;//火把所在的位置
        a[x+1][y+2]++; a[x+0][y+2]++; a[x+3][y+2]++; a[x+4][y+2]++;
        a[x+2][y+1]++; a[x+2][y+0]++; a[x+2][y+3]++; a[x+2][y+4]++;
        a[x+1][y+1]++; a[x+3][y+3]++; a[x+1][y+3]++; a[x+3][y+1]++;
        //火把能照亮的12个位置
    }
    for (int i=0; i<m; i++)//萤石
    {
        int x,y;
        cin>>x>>y;
        for (int j=0; j<5; j++)
        {
            for (int k=0; k<5; k++)
            {
                a[x+j][y+k]++;//萤石能照亮的24个位置以及他自身
            }
        }
    }
    int cnt=0;
    for (int i=2; i<2+n; i++)
    {
        for (int j=2; j<2+n; j++){if(a[i][j]==0){cnt++;}}//计数
    }
    cout<<cnt;
    return 0;
}
2023/2/2 19:10
加载中...