直接套用模板
请不要在意变量名和数组模拟队列
参考代码
#include<bits/stdc++.h>
using namespace std;
struct huawel{
int x,y;
}a[999];
int m,n,book[99][99],ks,js,tx,ty;
int kx[4]={0,1,0,-1};
int ky[4]={1,0,-1,0};
char t;
int main()
{
while(1)
{
ks=0;js=0;
cin>>n>>m;
if(m==0&&n==0)
break;
for(int i=1;i<=m;i++)
{
while(1)
{
t=cin.peek();
if(t=='.'||t=='@'||t=='#')
break;
cin.get();
}
for(int j=1;j<=n;j++)
{
t=getchar();
if(t=='.')
book[i][j]=0;
else
book[i][j]=1;
if(t=='@')
{
a[ks].x=i;
a[ks].y=j;
ks++;
}
}
}
while(ks>js)
{
for(int i=0;i<4;i++)
{
tx=a[js].x+kx[i];
ty=a[js].y+ky[i];
if(tx<=m&&ty<=n&&tx>0&&ty>0&&book[tx][ty]==0)
{
book[tx][ty]=1;
a[ks].x=tx;
a[ks].y=ty;
ks++;
}
}
js++;
}
cout<<js<<endl;
}
return 0;
}
优秀。
*优秀
优秀