80分求助,第一个WA,但是我下载了数据进行调试和答案一模一样,可就是过不了!
查看原帖
80分求助,第一个WA,但是我下载了数据进行调试和答案一模一样,可就是过不了!
629096
NoobMaster楼主2021/12/11 01:17
#include<stdio.h>
#include<stdlib.h>
#include<math.h>


int main()
{
   int a[100][100];
   int q,p,n,m,k,x,y,i,j,sum=0;
   scanf("%d%d%d",&n,&m,&k);
   for(i=0;i<m;i++)//火把
   {
       scanf("%d%d",&x,&y);
	   a[x-1][y-1]=1;
	   if(x-2>=0)a[x-2][y-1]=1;
	   if(x-3>=0)a[x-3][y-1]=1;
	   if(y-2>=0)a[x-1][y-2]=1;
	   if(y-3>=0)a[x-1][y-3]=1;
	   if(y+1<n)a[x-1][y+1]=1;
	   if(y<n)a[x-1][y]=1;
	   if(x<n)a[x][y-1]=1;
	   if(x+1<n)a[x+1][y-1]=1;
	   if(x-2>=0&&y-2>=0)a[x-2][y-2]=1;
	   if(x-2>=0&&y<n)a[x-2][y]=1;
	   if(x<n&&y-2>=0)a[x][y-2]=1;
	   if(x<n&&y<n)a[x][y]=1;
   }
   for(i=0;i<k;i++)//萤石
   {
	   scanf("%d%d",&x,&y);
	   for(q=x-3;q<x-3+5;q++)
	   {
		   if(q>=0&&q<n)
		   for(p=y-3;p<y-3+5;p++)
			   if(p>=0&&p<n) a[q][p]=1;
	   }
   }
   for(i=0;i<n;i++)
	   for(j=0;j<n;j++)
		   if(a[i][j]!=1) sum++;
   printf("%d",sum);
   return 0;
}



2021/12/11 01:17
加载中...