80分 第二个wa了 自己试数据是对的
查看原帖
80分 第二个wa了 自己试数据是对的
474616
shuli楼主2021/4/7 19:09
#include<bits/stdc++.h>
using namespace std;
int main(){
	int a[120][120]={};
	int n,m,k;
	cin>>n>>m>>k;
	int hbx[m],hby[m];//火把x 火把y 
	int ysx[k],ysy[k];//萤石x 萤石y 
	for(int i=0;i<m;i++){
		cin>>hbx[i]>>hby[i];
	}
	for(int i=0;i<k;i++){
		cin>>ysx[i]>>ysy[i];
	}
	for(int i=0;i<m;i++){		//把火把的范围变成1 
				a[hbx[i]-1] 	[hby[i]-1]=1;
				a[hbx[i]]		[hby[i]-1]=1;
				a[hbx[i]+1]		[hby[i]-1]=1;
				a[hbx[i]-2]		[hby[i]-1]=1;
				a[hbx[i]-3]		[hby[i]-1]=1;
				a[hbx[i]-1]  	[hby[i]]=1;
				a[hbx[i]-1] 	[hby[i]+1]=1;
				a[hbx[i]-1]  	[hby[i]-2]=1;
				a[hbx[i]-1]  	[hby[i]-3]=1;
				a[hbx[i]-2]  	[hby[i]-2]=1;
				a[hbx[i]-2]  	[hby[i]]=1;
				a[hbx[i]]  		[hby[i]-2]=1;
				a[hbx[i]]  		[hby[i]]=1;
	}
	for(int i=0;i<k;i++){     //萤石的范围变成1 
		for(int j=0;j<n;j++){
			for(int l=0;l<n;l++){
				if(j<=ysx[i]+1&&j>=ysx[i]-3&&l<=ysy[i]+1&&l>=ysy[i]-3)
				a[j][l]=1;
			}
		}
	}	
	int num=0;
	for(int i=0;i<n;i++){
		for(int j=0;j<n;j++){
			if(a[i][j]==0)
			num++;				
		}
	}
	cout<<num<<endl;
	return 0;
}
2021/4/7 19:09
加载中...