文章
27
粉丝
0
获赞
130
访问
8.3k
#include<bits/stdc++.h>
using namespace std;
const int maxn = 105;
char s[maxn][maxn] = {'*'};
int visited[maxn][maxn] = {0};
int yidong[maxn][maxn] ={{-1,0},{1,0},{0,-1},{0,1}};
struct node{
int x,y;
};
int cnt = 0;
void bfs(int i,int j){
cnt++;
queue<node> q;
q.push(node{i,j});
while(!q.empty()){
node p = q.front();
// cout<<p.x<<" "<<p.y;
q.pop();
int nx,ny;
for(int i = 0;i<4;i++){
nx = p.x + yidong[i][0];
ny = p.y + yidong[i][1];
if(visited[nx][ny]==0&&s[nx][ny]=='@'){
q.push(node{nx,ny});
visited[nx][ny] = 1;
}
}
}
}
int main(){
int m,n;
while(cin>>m>>n){
if(m==0) break;
cnt = 0;
memset(s,'*',sizeof(s));
memset(visited,0,sizeof(visited));
for(int i = 1;i<=m;i++){
scanf("%s",s[i]+1);
}
for(int i = 1;i<=m;i++){
for(int j = 1;j<=n;j++){
if(s[i][j]=='@'&&visited[i][j]==0){
...
登录后发布评论
暂无评论,来抢沙发