20pts求条
查看原帖
20pts求条
1241854
likunyuan楼主2025/8/4 21:24
#include<bits/stdc++.h>
using namespace std;
int n,m,k,a[10005][10005];
int main(){
	cin>>n>>m>>k;
	for(int i=1;i<=m;i++){
		int  x,y;
		cin>>x>>y;
		a[x][y]=1;
		if(x+1<=n&&x+1>=1) a[x+1][y]=1;
		if(x+2<=n&&x+2>=1) a[x+2][y]=1;
		if(x-1<=n&&x-1>=1) a[x-1][y]=1;
		if(x-2<=n&&x-2>=1) a[x-2][y]=1;
		if(y+1<=n&&y+1>=1) a[x+1][y]=1;
		if(y+2<=n&&y+2>=1) a[x+2][y]=1;
		if(y-1<=n&&y-1>=1) a[x-1][y]=1;
		if(y-2<=n&&y-2>=1) a[x-2][y]=1;
		if(x+1<=n&&x+1>=1&&y+1<=n&&y+1>=1) a[x+1][y+1]=1;
		if(x-1<=n&&x-1>=1&&y+1<=n&&y+1>=1) a[x-1][y+1]=1;
		if(x+1<=n&&x+1>=1&&y-1<=n&&y-1>=1) a[x+1][y-1]=1;
		if(x-1<=n&&x-1>=1&&y-1<=n&&y-1>=1) a[x-1][y-1]=1;
	}
	for(int i=1;i<=k;i++){
		int  x,y;
		cin>>x>>y;
		a[x][y]=1;
		if(x+1<=n&&x+1>=1) a[x+1][y]=1;
		if(x+2<=n&&x+2>=1) a[x+2][y]=1;
		if(x-1<=n&&x-1>=1) a[x-1][y]=1;
		if(x-2<=n&&x-2>=1) a[x-2][y]=1;
		if(y+1<=n&&y+1>=1) a[x+1][y]=1;
		if(y+2<=n&&y+2>=1) a[x+2][y]=1;
		if(y-1<=n&&y-1>=1) a[x-1][y]=1;
		if(y-2<=n&&y-2>=1) a[x-2][y]=1;
		if(x+1<=n&&x+1>=1&&y+1<=n&&y+1>=1) a[x+1][y+1]=1;
		if(x-1<=n&&x-1>=1&&y+1<=n&&y+1>=1) a[x-1][y+1]=1;
		if(x+1<=n&&x+1>=1&&y-1<=n&&y-1>=1) a[x+1][y-1]=1;
		if(x-1<=n&&x-1>=1&&y-1<=n&&y-1>=1) a[x-1][y-1]=1;
		if(x+2<=n&&x+2>=1&&y+1<=n&&y+1>=1) a[x+2][y+1]=1;
		if(x+1<=n&&x+1>=1&&y+2<=n&&y+2>=1) a[x+1][y+2]=1;
		if(x-1<=n&&x-1>=1&&y+2<=n&&y+2>=1) a[x-1][y+2]=1;
		if(x-2<=n&&x-2>=1&&y+1<=n&&y+1>=1) a[x-2][y+1]=1;
		if(x-2<=n&&x-2>=1&&y-1<=n&&y-1>=1) a[x-2][y-1]=1;
		if(x-1<=n&&x-1>=1&&y-2<=n&&y-2>=1) a[x-1][y-2]=1;
		if(x-2<=n&&x-2>=1&&y-2<=n&&y-2>=1) a[x-2][y-2]=1;
		if(x+2<=n&&x+2>=1&&y+2<=n&&y+2>=1) a[x+2][y+2]=1;
		if(x-2<=n&&x-2>=1&&y+2<=n&&y+2>=1) a[x-2][y+2]=1;
	}
	int ans=0;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(a[i][j]==0) ans++;
		}
	}
	cout<<ans;
	return 0;
}
2025/8/4 21:24
加载中...