第六届华为创新杯编程大赛-进阶1第3轮

2014-11-23 21:55:28 · 作者: · 浏览: 16

题目忘记粘贴了,题目大致意思就是笨笨熊要搬家,它现在的家在B点,新的豪宅在H点,现在要从B点到H点

地图R表示行,C表示列,其中:

-表示能通过

#表示不能通过

B表示笨笨熊原来的家

H表示笨笨熊的新豪宅

输入

R

C

R×C矩阵

输出

Y//表示可以通过

N//表示不可以通过

解析:本来这道题很明显,很简单的搜索嘛,但是不知道是因为自己很长时间不写搜索了还是怎么回事,一直在改代码,最后在超过时间给提交上去了,但是最后竟然还返回分数了,完美AC哈!

直接贴个代码

#include 
  
   
using std::endl;
using std::cin;
using std::cout;
char map[100][100];
bool flag=false;
int R,C;
void dfs(int p,int q)
{
	if(p>=0&&p
   
    =0&&q
    
     > R >> C; int tempi,tempj; for(int i=0;i
     
      > map[i][j]; if(map[i][j]=='B') { tempi = i; tempj = j; } } dfs(tempi,tempj); if(flag==true) cout << "Y" << endl; else cout << "N" << endl; return 0; }