文章
166
粉丝
68
获赞
829
访问
51.4k
#include <bits/stdc++.h>
using namespace std;
//挖掘方向
vector<vector<int>> direction {{-1, 0}, {-1, 1}, {0, 1}, {1, 1}, {1, 0}, {1, -1}, {0, -1}, {-1, -1}};
//找到一个就挖完所有,然后搜剩下的
void dfs(vector<vector<char>>& a, int i, int j) {
if (i < 0 || i >= a.size() || j < 0 || j >= a[0].size() || a[i][j] != '@') return;
a[i][j] = '*';
for (int k = 0; k < 8; k++) {
int x = i + direction[k][0];
int y = j + direction[k][1];
dfs(a, x, y);
}
}
int main(){
int m,n;
while(cin>>m>>n){
if(m==0&&n==0)break;
vector<vector<char>>a(m,vector<char>(n));
for(int i=0;i<m;i++){
for(int j=0;j<n;j++)cin>>a[i][j];
}
int ans=0;
for(int i=0;i<m;i++){
for(int j=0;j<n;j++){
if(a[i][j]=='@'){
dfs(a,i,j);
ans++;...
登录后发布评论
暂无评论,来抢沙发