记录编号 |
284499 |
评测结果 |
AAAAAAAAAA |
题目名称 |
冲出亚马逊之圣战前夜 |
最终得分 |
100 |
用户昵称 |
安呐一条小咸鱼。 |
是否通过 |
通过 |
代码语言 |
C++ |
运行时间 |
0.006 s |
提交时间 |
2016-07-18 15:06:42 |
内存使用 |
0.37 MiB |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int map[110][110];
bool vis[110][110];
char c;
int tot=0,n,ans,cnt;
bool flag=false;
void dfs(int x,int y)
{
if(vis[x][y])return;
vis[x][y]=true;
if(x==n&&y==n)flag=true;
cnt++;
if(map[x+1][y]==0&&x+1<=n)dfs(x+1,y);
if(map[x][y+1]==0&&y+1<=n)dfs(x,y+1);
if(map[x][y-1]==0&&y-1>0)dfs(x,y-1);
if(map[x-1][y]==0&&x-1>0)dfs(x-1,y);
return;
}
int main()
{
freopen("ymxpre.in","r",stdin);freopen("ymxpre.out","w",stdout);
cin>>n;
for(int i=1;i<=n;i++)
{
for(int j=1;j<=n;j++)
{
cin>>c;
if(c=='0'||c=='2'||c=='5')
{
map[i][j]=0;
}
else map[i][j]=1;
}
}
if(map[1][1]==1)
{
puts("no\n0");return 0;
}
dfs(1,1);
if(flag)puts("yes");
else puts("no");
cout<<cnt<<endl;
}