C语言80分,第三个点在自己这跑是对的,交上去错了,求助
查看原帖
C语言80分,第三个点在自己这跑是对的,交上去错了,求助
1116547
a837454512楼主2023/11/28 22:41
#include <stdio.h>
int main()
{
	int n,m,k,i,j,p,q,t=0;
	scanf ("%d %d %d",&n,&m,&k);
	int x[n+1][n+1],fire[n+1][n+1],light[n+1][n+1];
	for (i=1;i<n+1;i++){
		for (j=1;j<n+1;j++){
				fire[i][j]=0;
				light[i][j]=0;
				x[i][j]=0;
		}
	}
	for (i=0;i<m;i++){
		scanf ("%d %d",&p,&q);
		fire[p][q]=1;
	}
	for (i=0;i<k;i++){
		scanf ("%d %d",&p,&q);
		light[p][q]=1;
	}
	for (i=1;i<n+1;i++){
		for (j=1;j<n+1;j++){
			if (fire[i][j]==1){
				for (p=1;p<n+1;p++){
					for (q=1;q<n+1;q++){
						if ((p-i)*(p-i)+(q-j)*(q-j)<=4)
							x[p][q]=1;
					}
				}
			}
			if (light[i][j]==1){
				for (p=i-2;p<=i+2;p++){
					for (q=i-2;q<=i+2;q++){
						if ((p-i)*(p-i)+(q-j)*(q-j)<=8)
							x[p][q]=1;
						}
					}
				}
			}
		}
	for (i=1;i<n+1;i++){
		for (j=1;j<n+1;j++){
			if (x[i][j]==0){
				t++;
			}
		}
	}
	printf ("%d",t);
    return 0;
}
2023/11/28 22:41
加载中...