社区讨论

60分求助

P1789【Mc生存】插火把参与者 1已保存回复 0

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
0 条
当前快照
1 份
快照标识符
@lo1ykbvt
此快照首次捕获于
2023/10/23 05:05
2 年前
此快照最后确认于
2023/11/03 05:30
2 年前
查看原帖
加上对i,j的条件判断后,反而无法通过,下面是不加判断的,只有60分
CPP
#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,m,k;
	cin>>n>>m>>k;
	int i,j;
	int x,y,o,p; 
	int a[101][101];
	int cnt=0;
	for(i=1;i<=m;i++){
		cin>>x>>y;
		
	for(int i=x-2;i<=x+2;i++)
	
			a[i][y]=1;
for(int i=y-2;i<=y+2;i++)
			a[x][i]=1;
		a[x-1][y-1]=1;
		a[x+1][y-1]=1;
		a[x-1][y+1]=1;
		a[x+1][y+1]=1;
	} 
	for(i=1;i<=k;i++){
		cin>>o>>p;
			
		for(i=o-2;i<=o+2;i++){
			for(j=p-2;j<=p+2;j++){
				a[i][j]=1;
			}
		}
	}
	
	for(i=1;i<=n;i++){
		for(j=1;j<=n;j++){
			
			if(a[i][j]==1)
			 cnt++;
			 
		}
	}
	cout<<n*n-cnt;
	return 0;
}

回复

0 条回复,欢迎继续交流。

正在加载回复...