不知道为什么错20分,求助
查看原帖
不知道为什么错20分,求助
526826
extreme_point楼主2022/3/5 07:59
#include<iostream>
using namespace std;
int f[110][110];
int n,m,k;
void test(int x,int y){
	if(x<=n && x>=1 && y<=n && y>=1 ){
		f[x][y]=1;	
	}
}
void lunt(int x,int y){
	for(int i=-2;i<=2;i++){
		test(x+i,y);
	}
	for(int j=-2;j<=2;j++){
		test(x,y+j);
	}
	test(x-1,y-1);
	test(x-1,y+1);
	test(x+1,y-1);
	test(x+1,y+1);
}
void fluorite(int x,int y){
	for(int i=-2;i<=2;i++){
		for(int j=-2;j<=2;j++){
			test(x+i,y+j);
		}
	}
}
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		int x,y;
		cin>>x,y;
		lunt(x,y);
	}
	for(int i=1;i<=k;i++){
		int x,y;
		cin>>x>>y;
		fluorite(x,y);
	}
	int sum=0;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(f[i][j]==0){
				sum+=1;
			}
		}
	}
	cout<<sum;
}
2022/3/5 07:59
加载中...