太难了!!!
查看原帖
太难了!!!
1105630
220218SZC楼主2024/3/22 22:19
#include<bits/stdc++.h>
using namespace std;
int n,m,o,a[30],b[30],c[30],d[30],e[105][105]={0},f;
int main()
{
cin>>n>>m>>o;
f=n*n;
for(int i=1;i<=m;i++){
	cin>>a[i]>>b[i];
}
for(int i=1;i<=o;i++){
	cin>>c[i]>>d[i];
}
for(int i=1;i<=m;i++){
	for(int j=-2;j<=2;j++){
		if(b[i]+j<=0){
			continue;
		}
		if(e[a[i]][b[i]+j]==0){
			f-=1;
			e[a[i]][b[i]+j]=1;
		}
	}
	for(int j=-2;j<=2;j++){
		if(a[i]+j<=0){
			continue;
		}
		if(e[a[i]+j][b[i]]==0){
			f-=1;
			e[a[i]+j][b[i]]=1;
		}
	}
	for(int j=-1;j<=1;j++){
		for(int k=-1;k<=1;k++){
			if(a[i]+j<=0||b[i]+k<=0){
				continue;
			}
			if(e[a[i]+j][b[i]+k]==0){
				f-=1;
				e[a[i]+j][b[i]+k]=1;
			}
		}
	}
}
for(int i=1;i<=o;i++){
	for(int j=-2;j<=2;j++){
		for(int k=-2;k<=2;k++){
			if(e[c[i]+j][d[i]+k]==0){
				f-=1;
				e[c[i]+j][d[i]+k]=1;
			}
		}
	}
}
cout<<f;
}


2024/3/22 22:19
加载中...