求助,使用方向数组但RE
查看原帖
求助,使用方向数组但RE
735387
songtj楼主2022/8/27 18:00

RT

代码如下:

#include <bits/stdc++.h>
using namespace std;

int n, m, mine[110][110];
char maps[110][110];
const int x_pos[10] = {0,1,0,-1,0,1,-1,1,-1};
const int y_pos[10] = {0,0,1,0,-1,-1,1,1,-1};

inline void serch(int x, int y) {
	for (int i = 1; i <= 8; ++i) {
		int nx = x + x_pos[i];
		int ny = y + y_pos[i];
		if ((nx<=n&&nx>=1&&ny<=m&&ny>=1)&&(maps[nx][ny] == '*')) {
			mine[x][y]++;
		}
	}
	return;
}

int main() {
	cin >> n >> m;
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= m; ++j) {
			cin >> maps[i][j];
		}
	}
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; i <= m; ++j) {
			if (maps[i][j] == '?') {
				serch(i, j);
			}
		}
	}
	for (int i = 1; i <= n; ++i) {
		for (int j = 1; j <= m; ++j) {
			if (maps[i][j] == '*') {
				cout << '*';
			}
			else {
				cout << mine[i][j];
			}
		}
		cout << endl;
	}
	return 0;
}
2022/8/27 18:00
加载中...