此题链接单击这里
=================
#include <iostream>
#include <cstring>
using namespace std;
char a[25][25];
int b[25][25];
int c[4][2]={{-1,0},{0,-1},{1,0},{0,1}};
int W, H,k;
bool is(int ai,int aj)
{
if(ai<1||ai>H||aj<1||aj>W)
return true;
return false;
}
void funt(int ai,int aj)
{
if(is(ai,aj))
return ;
if(a[ai][aj]=='#')
return ;
k++;
for(int i=0;i<4;i++)
{
int ax=ai+c[i][0];
int ay=aj+c[i][1];
if(b[ax][ay]!=1)
{
b[ax][ay]=1;
funt(ax,ay);
}
}
}
int main()
{
while (cin >> W >> H&&W&&H){
int ji, jj;
k=0;
memset(b,0,sizeof(b));
for (int i = 1; i <= H; i++)
for (int j = 1; j <= W; j++)
{
cin >> a[i][j];
if (a[i][j] == '@')
{
ji = i;
jj = j;
}
}
b[ji][jj]=1;
funt(ji,jj);
cout<<k<<endl;
}
}
有问题联系企鹅791267032
邮箱地址….wutanrong@Hotmail.com