文章
34
粉丝
89
获赞
2
访问
18.4k
#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]){ ...
登录后发布评论
暂无评论,来抢沙发