Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
54895 | 陶俊宸 | 红与黑 | C++ | 通过 | 100 | 0 MS | 276 KB | 532 | 2022-07-29 17:45:43 |
#include<bits/stdc++.h> char m[20][20]; int w,h,ans; const int dx[4]={0,1,0,-1},dy[4]={1,0,-1,0}; void flood_fill(int x,int y){ m[x][y]='#'; ans++; for(int i=0;i<4;i++){ int tx=x+dx[i],ty=y+dy[i]; if(tx>-1&&tx<h&&ty>-1&&ty<w&&m[tx][ty]!='#') flood_fill(tx,ty); } } int main(){ while(1){ scanf("%d %d",&w,&h); gets(m[0]); for(int i=0;i<h;i++) gets(m[i]); if(!w) break; ans=0; for(int i=0;i<h;i++) for(int j=0;j<w;j++) if(m[i][j]=='@') flood_fill(i,j); printf("%d\n",ans); } return 0; }