📄 1312 red and black.cpp
字号:
#include <cstdio>
#include <string>
using namespace std;
char map[21][21];
int ans,w,h;
void dfs(int x,int y)
{
if(x<0 || x>h || y<0 || y>w)
return;
if(map[x][y]=='.')
{
ans++;
map[x][y]=0;
dfs(x+1,y);
dfs(x-1,y);
dfs(x,y+1);
dfs(x,y-1);
}
else
return;
}
int main()
{
int i,j,n,sx,sy;
while( scanf("%d %d",&w,&h)!=EOF )
{
memset(map,0,sizeof(map));
if(w==0 || h==0)
break;
sx=sy=0;
for(i=0;i<h;i++)
{
scanf("%s",map[i]);
for(j=0;j<w;j++)
{
if(map[i][j]=='@')
{ sx=i;sy=j;break;}
}
}
ans=0;
map[sx][sy]='.';
dfs(sx,sy);
printf("%d\n",ans);
}
return 0;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -