60分,求助!
查看原帖
60分,求助!
1121089
zuoyang001楼主2023/10/27 20:20
#include<bits/stdc++.h>
using namespace std;
long long n,m,k,Minecraft[101][101],x,y,ang=0,pos1,pos2,pos3,pos4;
int main(){
	memset(Minecraft,0,sizeof(Minecraft));
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		Minecraft[x][y]=1;
		Minecraft[x+1][y]=1;
		Minecraft[x+2][y]=1;
		Minecraft[x-1][y]=1;
		Minecraft[x-2][y]=1;
		Minecraft[x+1][y-1]=1;
		Minecraft[x+1][y+1]=1;
		Minecraft[x-1][y+1]=1;
		Minecraft[x-1][y-1]=1;
		Minecraft[x][y+1]=1;
		Minecraft[x][y+2]=1;
		Minecraft[x][y-1]=1;
		Minecraft[x][y-2]=1;
	}
	for(int i=1;i<=k;i++){
		cin>>x>>y;
		if(x-2>=1)pos1=x-2;
		else pos1=1;
		if(x+2<=n)pos2=x+2;
		else pos2=n;
		if(y-2>=1)pos3=y-2;
		else pos3=1;
		if(y+2<=n)pos4=y+2;
		else pos4=n;
		for(int j=pos1;j<=pos2;j++){
			for(int h=pos3;h<=pos4;h++){
				Minecraft[j][h]=1;
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(!Minecraft[i][j]){
				ang++;
			}
		}
	}
	cout<<ang;
	return 0;
}
2023/10/27 20:20
加载中...