文章
37
粉丝
68
获赞
6
访问
7.0k
#include<bits/stdc++.h>
using namespace std;
int m,n;
bool isVisit[105][105] = {false};
char a[105][105];
int dir[8][2] = {0,1,1,1,1,0,1,-1,0,-1,-1,-1,-1,0,-1,1};
void dfs(int x,int y){
isVisit[x][y] = true;
for(int i = 0;i < 8;i++){
int nx = x + dir[i][0];
int ny = y + dir[i][1];
if(nx >= 0 && nx < m && ny >= 0 && ny < n && !isVisit[nx][ny] && a[nx][ny] == '@'){
dfs(nx,ny);
}
}
}
int main(){
while(cin >> m >> n){
if(m==0 && n==0) break;
memset(isVisit,false,sizeof(isVisit));
int ans = 0;
for(int i = 0;i < m;i++){
for(int j = 0;j < n;j++){
cin >> a[i][j];
}
}
for(int i = 0;i < m;i++){
for(int j = 0;j < n;j++){
if(a[i][j] == '@'&& !isVisit[i][j]){
ans++;...
登录后发布评论
暂无评论,来抢沙发