记录编号 248236 评测结果 AAAAAAAAAA
题目名称 冲出亚马逊之圣战前夜 最终得分 100
用户昵称 Gravatarliu_runda 是否通过 通过
代码语言 C++ 运行时间 0.022 s
提交时间 2016-04-10 09:47:38 内存使用 0.28 MiB
显示代码纯文本
#include<cstdio>
#include<cctype>
const int maxn=105;
bool pass[maxn][maxn];
bool vis[maxn][maxn];
int cnt=0;
int dire[4][2]={{0,1},{0,-1},{1,0},{-1,0}};
bool read(){
	char ch;
	while(ch=getchar(),!isdigit(ch));
	if(ch=='0'||ch=='2'||ch=='5')return true;
	return false;
}
void dfs(int x,int y){
	if(!pass[x][y])return;//起点无法通过。。输出0 
	cnt++;
	vis[x][y]=true;
	int _x,_y;
	for(int i=0;i<4;++i){
		_x=x+dire[i][0];_y=y+dire[i][1];
		if(pass[_x][_y]&&!vis[_x][_y])dfs(_x,_y);
	}
} 
int main(){
	freopen("ymxpre.in","r",stdin);
	freopen("ymxpre.out","w",stdout);
	int n;scanf("%d",&n);
	for(int i=1;i<=n;++i){
		for(int j=1;j<=n;++j){
			pass[i][j]=read();
		}
	}
	dfs(1,1);
	if(vis[n][n])printf("yes\n");
	else printf("no\n");
	printf("%d\n",cnt);
	fclose(stdin);fclose(stdout);
	return 0;
}
/*
4
0010
4534
0501
1302
*/