#include "bits/stdc++.h"
using namespace std;
int dir[8][2]={
{0,1},{1,0},{0,-1},{-1,0},{1,1},{-1,-1},{1,-1},{-1,1}};
char s[55][55];
int n,m,a,b;
int check(int x,int y){
int cnt = 0;
for(int i=0;i<8;i++){
int tx = dir[i][0] + x;
int ty = dir[i][1] + y;
if(tx < 0 || ty < 0 || tx > n-1 || ty > m-1) continue;
if(s[tx][ty] == 'M') cnt++;
}
return cnt;
}
void dfs(int x , int y){
s[x][y] = check(x,y) + '0';
if(s[x][y] != '0') return;
for(int i=0;i<8;i++){
int tx = dir[i][0] + x;
int ty = dir[i][1] + y;
if(tx < 0 || ty < 0 || tx > n-1 || ty > m-1) continue;
if(s[tx][ty] != 'E') continue;
dfs(tx,ty);
}
}
int main()
{
while (cin >> n >> m){
for(int i=0;
扫雷(dfs)
最新推荐文章于 2022-04-06 10:48:04 发布