20分求助求助......
查看原帖
20分求助求助......
956316
77Glorious楼主2023/9/13 16:30
#include<bits/stdc++.h>
using namespace std;
int a[5010][5010];
int main(){
	int n,m,k;//n:方阵全图
	//m:火把个数 
	//k: 萤石个数
	 int cnt=0;
	cin>>n>>m>>k;
	for(int i=1;i<=n;i++)
	for(int j=1;j<=n;j++)
	a[i][j]=0;//先全部变暗
	
	
	for(int i=1;i<=m;i++){//开始插入火把 
		for(int j=1;j<=m;j++){
			cin>>i>>j;
			a[i][j]=1;
			a[i-1][j]=1;
			a[i-2][j]=1;
			a[i+1][j]=1;
			a[i+2][j]=1;
			a[i][j-1]=1;
			a[i][j-2]=1;
			a[i][j+1]=1;
			a[i][j+2]=1;
			a[i-1][j-1]=1;
			a[i+1][j+1]=1;
			a[i-1][j+1]=1;
			a[i+1][j-1]=1;
			
		}
	} 
	
		for(int i=1;i<=k;i++){//开始插入萤石 
		for(int j=1;j<=k;j++){
			cin>>i>>j;
		for(int x=i-2;x<=i+2;x++){
		
		for(int z=j-2;z<=j+2;z++)
		a[x][z]=1;
		   }
		}
	} 	 
	
for(int i=1;i<=n;i++){
	for(int j=1;j<=n;j++)
	if(a[i][j]==0) cnt++;
} 
	cout<<cnt;
	
	
	
	return 0;
	
}
2023/9/13 16:30
加载中...