注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

Minary_Acdream

http://f10.moe/

 
 
 

日志

 
 

[nbut] 1265 Flandre's Second Escape  

2012-11-08 21:57:27|  分类: NBUT OJ |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
一题二小姐的题目~这题是写着给12届的孩子玩的,就是赤果果的走迷宫,赤果果的DFS。。

代码如下:

#include<iostream>
using namespace std;
int n,m;
int nn,mm,ni,mi;

char map[300][300];
int dir[4][2] = {{-1,0},{0,1},{0,-1},{1,0}};
int flag = 0;

void DFS(int x,int y)
{
map[x][y] = '#';
int xx,yy;
for(int i = 0;i < 4;i ++)
{
xx = x + dir[i][0];
yy = y + dir[i][1];
if(xx >= n || yy >= m || xx < 0 || yy < 0) continue;
if(xx == nn && yy == mm)
{
flag = 1;
return;
}
if(map[xx][yy] == '*')
{
DFS(xx,yy);
map[xx][yy] = '*';
}

}
return;
}


int main()
{
// freopen("data.in", "r", stdin);
// freopen("data.out", "w", stdout);

while(scanf("%d %d",&n,&m) != EOF)
{
getchar();
flag = 0;
for(int i = 0;i < n;i ++)
{
for(int j = 0;j < m;j ++)
{
scanf("%c",&map[i][j]);
if(map[i][j] == 'S')
{
ni = i; mi = j;
}
if(map[i][j] == 'E')
{
nn = i; mm = j;
}
}
getchar();
}
DFS(ni,mi);
if(flag == 1) printf("..> <..Thank you very much!!\n");
else printf("T_T I want to go out!!\n");
}
}
/*
样例输入
4 4
S##*
*#**
**#*
*E*#
4 4
S##*
*#*E
**#*
***#
样例输出
..> <..Thank you very much!!
〒_〒 I want to go out!!*/



  评论这张
 
阅读(106)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018