社区讨论

50分求助

P2670[NOIP 2015 普及组] 扫雷游戏参与者 2已保存回复 1

讨论操作

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

当前回复
1 条
当前快照
1 份
快照标识符
@loci3ozn
此快照首次捕获于
2023/10/30 14:10
2 年前
此快照最后确认于
2023/11/05 01:35
2 年前
查看原帖
CPP
#include<bits/stdc++.h>
using namespace std;
char dl[107][107];
int jg[107][107];
int n,m;
void work() {
	for(int i=0; i<n; i++) {
		for(int j=0; j<m; j++) {
			if(dl[i][j]=='*') {
				if((i!=0&&j!=0)&&(i!=n-1&&j!=m-1)) {
					jg[i-1][j-1]++;
					jg[i][j-1]++;
					jg[i+1][j-1]++;
					jg[i-1][j]++;
					jg[i+1][j]++;
					jg[i-1][j+1]++;
					jg[i][j+1]++;
					jg[i+1][j+1]++;
				} else if((i==0&&j!=0)&&j!=m-1) {
					jg[i][j-1]++;
					jg[i][j+1]++;
					jg[i+1][j-1]++;
					jg[i+1][j]++;
					jg[i+1][j+1]++;
				} else if((i!=0&&j==0)&&i!=n-1){
					jg[i-1][j]++;
					jg[i+1][j]++;
					jg[i-1][j+1]++;
					jg[i][j+1]++;
					jg[i+1][j+1]++;
				}
				else if(i!=0&&j==m-1&&i!=n-1){
					jg[i-1][j]++;
					jg[i-1][j-1]++;
					jg[i-1][j+1]++;
					jg[i][j-1]++;
					jg[i][j+1]++;
				}

				else if(i==0&&j==0){
					jg[i][j+1]++;
					jg[i+1][j]++;
					jg[i+1][j+1]++;
				}
				else if(i==n-1&&j==m-1){
					jg[i-1][j]++;
					jg[i][j-1]++;
					jg[i-1][j-1]++;
				}
				else if(i==0&&j==m-1){
					jg[i+1][j]++;
					jg[i+1][j-1]++;
					jg[i][j-1]++;
				}
				else if(i==n-1&&j==0){
					jg[i-1][j]++;
					jg[i-1][j+1]++;
					jg[i][j+1]++;
				}
			}
		}
	}
	for(int i=0; i<n; i++) {
		for(int j=0; j<m; j++) {
			if(dl[i][j]=='*') cout<<dl[i][j];
			else cout<<jg[i][j];
		}
		cout<<endl;
	}
}
int main() {
	cin>>n>>m;
	for(int i=0; i<n; i++) {
		for(int j=0; j<m; j++) {
			cin>>dl[i][j];
		}
	}
	work();
}
50分,样例一要死要活过不去

回复

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

正在加载回复...