加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
lan3.cpp 872 Bytes
一键复制 编辑 原始数据 按行查看 历史
刘嘉霖 提交于 2024-04-17 22:10 . 蓝桥杯练习代码
#include<bits/stdc++.h>
using namespace std;
const int N=20;
char s[N][N];
int dis[N][N];
int w,h;
int dx1[4]={-1,0,1,0};
int dy1[4]={0,1,0,-1};
int dfs(int x,int y)
{
int ans=1;
dis[x][y]=1;
for(int i=0;i<4;i++)
{
int a=x+dx1[i];
int b=y+dy1[i];
if(dis[a][b])
continue;
else if(s[a][b]!='.')
continue;
else if(a < 0 || a >= h || b < 0 || b >= w)
continue;
else
{
ans+=dfs(a,b);
}
}
return ans;
}
int main ()
{
while(scanf("%d,%d",&w,&h),w||h)
{
for(int i=0;i<h;i++)
cin>>s[i];
int x,y;
for(int i=0;i<h;i++)
{
for(int j=0;j<w;j++)
{
if(s[i][j]=='@')
{
x=i;
y=j;
}
}
}
cout<<dfs(x,y)<<endl;
}
return 0;
}
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化