您的位置:首页 > 其它

Red and black poj1979 // acmclub.com 6659

2014-10-16 00:22 162 查看
#include<iostream>
#include<cstdio>
using namespace std;
char tiles[21][21];
int x,y,w,h,ans;
int dx[4]={-1,0,0,1},dy[4]={0,-1,1,0};//^<>
void dfs(int sx,int sy){
ans++;tiles[sy][sx]='#';
for(int i=0;i<4;i++){
int nx=sx+dx[i],ny=sy+dy[i];
if(nx>=1&&nx<=w&&ny>=1&&ny<=h&&tiles[ny][nx]=='.'/**/)dfs(nx,ny);
}
}
int main(){
//	freopen("red.txt","r",stdin);
while(cin>>w>>h&&(w||h)){
ans=0;		getchar();
for(int i=1;i<=h;i++){
for(int j=1;j<=w;j++){
tiles[i][j]=getchar();
if(tiles[i][j]=='@'){x=j;y=i;}
}
getchar();
}
dfs(x,y);
cout<<ans<<endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: