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

//DFS类题目:1.二维数组 2.题目关键词“四个或八个方向”
//3.查找  4.递归

//一个原数组:存储原始数据
char a[105][105];
//一个标记数组:用来存储查找相关的数值
int vis[105][105];

//两个方向数组:表示查找的方向
int dx[10] = {0, 0, 1, 1, 1, 0, -1, -1, -1};
int dy[10] = {0, 1, 1, 0, -1, -1, -1, 0, 1};

int n, m;

void dfs(int x,int y){
    for (int i = 1; i <= 8;i++){
        int nx = x + dx[i];
        int ny = y + dy[i];
        if(a[nx][ny] == '?'){
            vis[nx][ny]++;
        }
    }
}

int main(){
    cin >> n >> m;
    for (int i = 1; i <= n;i++){
        for (int j = 1; j <= m;j++){
            cin >> a[i][j];
        }
    }

    for (int i = 1; i <= n;i++){
        for (int j = 1; j <= m;j++){
            if(a[i][j] == '*'){
                dfs(i, j);
            }
        }
    }
}

0 条评论

目前还没有评论...