首页 新闻 会员 周边 捐助

POJ1979 为什么会WA

0
悬赏园豆:50 [待解决问题]
 
复制代码
#include<cstdio>
const int maxn=21;
int W,H,count=0;
char a[maxn][maxn];
int dir[][2]={{-1,0},{1,0},{0,-1},{0,1}};
void dfs(int x,int y)
{
    count++;
    a[x][y]='#';
    for(int i=0;i<4;i++){
        int nx=x+dir[i][0];int ny=y+dir[i][1];
        if(nx>=0&&nx<H&&ny>=0&&ny<W&&a[nx][ny]=='.') dfs(nx,ny);
    }
}
void solve()
{
    int i,j;
    for(i=0;i<H;i++)
        for(j=0;j<W;j++)
    if(a[i][j]=='@') dfs(i,j);
    printf("%d\n",count);
}
int main()
{
    while(scanf("%d%d",&W,&H)==2){
        if(W==0&&H==0) break;
        for(int i=0;i<H;i++)
            scanf("%s",a[i]);
        solve();
    }
    return 0;
}
复制代码
邹晓强的主页 邹晓强 | 初学一级 | 园豆:152
提问于:2016-06-18 22:05
< >
分享
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册