社区讨论

为啥WA了

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

讨论操作

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

当前回复
2 条
当前快照
1 份
快照标识符
@mhjae3bk
此快照首次捕获于
2025/11/03 23:20
4 个月前
此快照最后确认于
2025/11/03 23:20
4 个月前
查看原帖
CPP
#include <bits/stdc++.h>

using namespace std;

const long long N = 1500;
const long long M = 1500;
char a[N][M];
long long n , m , cnt =0;
long long dir[8][2] = {{-1 , -1} , {-1 , 0} , {-1 , 1} , 
				       {0 , -1 } ,            {0 , +1} ,
					   {+1 , -1} , {+1 , 0} , {+1 , +1}};

char calc(long long x , long long y) {
	for (int i = 0 ; i < 8 ; i++) {
		if (a[x + dir[i][0]][y + dir[i][1]]) {
			cnt++;
		}
	}
	
	return cnt + '0';
}

int main( ) {
	scanf("%lld%lld" , & n , & m );
	
	for (int i = 1 ; i <= n ; i++) {
		for (int j = 1 ; j <= m ; j++) {
			scanf("%c" , &a[i][j]);
		}
	}

	for (int i = 1 ; i <= n ; i++) {
		for (int j = 1 ; j <= m ; j++) {
			if (a[i][j] == '?') {
				a[i][j] = calc(i , j);
			}
		}
	}
	
	for (int i = 1 ; i <= n ; i++) {
		for (int j = 1 ; j <= m ; j++) {
			printf("%c\n" , a[i][j]);
		}
		printf("\n");
	}
}
好好地为啥WA了

回复

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

正在加载回复...