- 分享
扫雷笔记
- @ 2023-8-5 9:03:58
#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 条评论
目前还没有评论...