80分求助(#2RE)
查看原帖
80分求助(#2RE)
750558
_Hu_Tao楼主2022/8/12 09:43
#include<bits/stdc++.h>
using namespace std;
int a[111][111];
int main(){
	int n,m,k,x,y,sum=0;
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		cin>>x>>y;
		a[x][y]=1;
		if(a[x][y-1]==0)a[x][y-1]=1;
		if(a[x][y-2]==0)a[x][y-2]=1;
		if(a[x][y+1]==0)a[x][y+1]=1;
		if(a[x][y+2]==0)a[x][y+2]=1;
		if(a[x-1][y]==0)a[x-1][y]=1;
		if(a[x-2][y]==0)a[x-2][y]=1;
		if(a[x+1][y]==0)a[x+1][y]=1;
		if(a[x+2][y]==0)a[x+2][y]=1;
		//四周
		if(a[x-1][y-1]==0)a[x-1][y-1]=1;
		if(a[x+1][y+1]==0)a[x+1][y+1]=1;
		if(a[x-1][y+1]==0)a[x-1][y+1]=1;
		if(a[x+1][y-1]==0)a[x+1][y-1]=1;
	}
	for(int i=1;i<=k;i++){
		cin>>x>>y;
		a[x][y]=1;
		if(a[x][y-1]==0)a[x][y-1]=1;
		if(a[x][y-2]==0)a[x][y-2]=1;
		if(a[x][y+1]==0)a[x][y+1]=1;
		if(a[x][y+2]==0)a[x][y+2]=1;
		if(a[x-1][y]==0)a[x-1][y]=1;
		if(a[x-2][y]==0)a[x-2][y]=1;
		if(a[x+1][y]==0)a[x+1][y]=1;
		if(a[x+2][y]==0)a[x+2][y]=1;
		//四周
		if(a[x-1][y-1]==0)a[x-1][y-1]=1;
		if(a[x+1][y+1]==0)a[x+1][y+1]=1;
		if(a[x-1][y+1]==0)a[x-1][y+1]=1;
		if(a[x+1][y-1]==0)a[x+1][y-1]=1;
		
		if(a[x-2][y-2]==0)a[x-2][y-2]=1;
		if(a[x+2][y+2]==0)a[x+2][y+2]=1;
		if(a[x-2][y+2]==0)a[x-2][y+2]=1;
		if(a[x+2][y-2]==0)a[x+2][y-2]=1;
		
		if(a[x-2][y-1]==0)a[x-2][y-1]=1;
		if(a[x-2][y+1]==0)a[x-2][y+1]=1;
		
		if(a[x+2][y+1]==0)a[x+2][y+1]=1;
		if(a[x+2][y-1]==0)a[x+2][y-1]=1;
		
		if(a[x-1][y+2]==0)a[x-1][y+2]=1;
		if(a[x-1][y-2]==0)a[x-1][y-2]=1;
		
		if(a[x+1][y-2]==0)a[x+1][y-2]=1;
		if(a[x+1][y+2]==0)a[x+1][y+2]=1;
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
//			cout<<a[i][j];
			if(a[i][j]==0)sum++;
		}
//		cout<<endl;
	}
	cout<<sum;
    return 0;
}
2022/8/12 09:43
加载中...