社区讨论

帮我看看我的代码哪里有问题吧,感谢感谢感谢!!!

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@lo90dflo
此快照首次捕获于
2023/10/28 03:30
2 年前
此快照最后确认于
2023/10/28 03:30
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
int h[102][102]={0},s[102][102]={0};
int main(){
    int n,m,k,x,y,o,p,sum1=0,sum2=0;
    cin>>n>>m>>k;
    for(int i=2;i<=m+1;i++){
    	cin>>x>>y;
    	h[x][y-2]=1;
    	h[x][y+2]=1;
    	h[x-2][y]=1;
    	h[x+2][y]=1;
    	for(int i=x-1;i<=x+1;i++){
    		for(int j=y-1;j<=y+1;j++){
    			h[i][j]=1;
			}
		}
	}
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(h[i][j]==0)  sum1++;
		}
	}
    if(k>=1){
    	for(int p=m+2;p<=m+k+1;p++){
    		cin>>o>>p;
    		for(int i=o-2;i<=o+2;i++){
			for(int j=p-2;j<=p+2;j++){
				s[i][j]=1;
			}
		}
		}
		for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(s[i][j]==0)  sum2++;
	     }
   	   }
	cout<<sum1+sum2;
			
}

	else cout<<sum1;
    return 0;
}

回复

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

正在加载回复...