#5为什么WA,已下载数据
查看原帖
#5为什么WA,已下载数据
1404467
Lilindong楼主2024/8/3 17:48

in

25 2 2
3 3
3 4
20 20
16 16

out

558

代码如下

#include<stdio.h>
int a[101][101]={0};
int main()
{
    int n,m,k,i,j,x,y,sum=0;
    scanf("%d%d%d",&n,&m,&k);
    for(i=1;i<=m;i++)
   {
        scanf("%d%d",&x,&y);
        a[x][y]=1;
        if(x-1>0)a[x-1][y]=1;
        if(x-2>0)a[x-2][y]=1;
        if(x+1<=n)a[x+1][y]=1;
        if(x+2<=n)a[x+2][y]=1;
        if(y-1>0)a[x][y-1]=1;
        if(y-2>0)a[x][y-2]=1;
        if(y+1<=n)a[x][y+1]=1;
        if(y+2<=n)a[x][y+2]=1;
        if(x-1>0&&y-1>0)a[x-1][y-1]=1;
        if(x-1>0&&y+1<=n)a[x-1][y+1]=1;
        if(x+1<=n&&y-1>0)a[x+1][y-1]=1;
        if(x+1<=n&&y+1<=n)a[x+1][y+1]=1;
   }
   for(i=1;i<=k;i++)
   {
       scanf("%d%d",&x,&y);
       for(i=x-2;i<=x+2;i++)
         for(j=y-2;j<=y+2;j++)
         {
             if(x-2<1)x=3;
             if(y-2<1)y=3;
             if(x+2>n)x=n-2;
             if(y+2>n)y=n-2;
             a[i][j]=1;
         }
   }
   for(i=1;i<=n;i++)
     for(j=1;j<=n;j++)
     sum+=a[i][j];
     printf("%d",n*n-sum);
     return 0;
}
2024/8/3 17:48
加载中...