比赛 |
20140714上午练习 |
评测结果 |
AAAAAAAAAA |
题目名称 |
冲出亚马逊之圣战前夜 |
最终得分 |
100 |
用户昵称 |
努力吧 |
运行时间 |
0.003 s |
代码语言 |
C++ |
内存使用 |
0.35 MiB |
提交时间 |
2014-07-14 11:18:14 |
显示代码纯文本
#include<fstream>
using namespace std;
ifstream fi("ymxpre.in");
ofstream fo("ymxpre.out");
int a[101][101];
int x,y;
int s=0;
int n;
void ymdfs(int i,int j);
int main()
{
fi>>n;
char b[101][101];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
fi>>b[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
a[i][j]=b[i][j]-'0';
ymdfs(1,1);
if(a[n][n]==6)
fo<<"yes"<<endl;
else
fo<<"no"<<endl;
fo<<s<<endl;
}
void ymdfs(int i,int j)
{
if(a[i][j]==0||a[i][j]==2||a[i][j]==5)
{
a[i][j]=6;
x=i;y=j;
s++;
if((a[i][j+1]==0||a[i][j+1]==2||a[i][j+1]==5)&&j+1>=1&&j+1<=n)
ymdfs(i,j+1);
if((a[i][j-1]==0||a[i][j-1]==2||a[i][j-1]==5)&&j-1>=1&&j-1<=n)
ymdfs(i,j-1);
if((a[i-1][j]==0||a[i-1][j]==2||a[i-1][j]==5)&&i-1>=1&&i-1<=n)
ymdfs(i-1,j);
if((a[i+1][j]==0||a[i+1][j]==2||a[i+1][j]==5)&&i+1>=1&&i+1<=n)
ymdfs(i+1,j);
}
else
return;
}