第六届华为创新杯编程大赛-进阶1第3轮
来源:互联网 发布:java系统设计文档 编辑:程序博客网 时间:2024/06/08 00:49
题目忘记粘贴了,题目大致意思就是笨笨熊要搬家,它现在的家在B点,新的豪宅在H点,现在要从B点到H点
地图R表示行,C表示列,其中:
-表示能通过
#表示不能通过
B表示笨笨熊原来的家
H表示笨笨熊的新豪宅
输入
R
C
R×C矩阵
输出
Y//表示可以通过
N//表示不可以通过
解析:本来这道题很明显,很简单的搜索嘛,但是不知道是因为自己很长时间不写搜索了还是怎么回事,一直在改代码,最后在超过时间给提交上去了,但是最后竟然还返回分数了,完美AC哈!
直接贴个代码
#include <iostream>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<R&&q>=0&&q<C&&map[p][q]=='H'){flag = true;return;}if(map[p-1][q]=='-'||map[p-1][q]=='H'){if(map[p-1][q]=='-')map[p-1][q]='a';dfs(p-1,q);}if(map[p+1][q]=='-'||map[p+1][q]=='H'){if(map[p+1][q]=='-')map[p+1][q]='a';dfs(p+1,q);}if(map[p][q-1]=='-'||map[p][q-1]=='H'){if(map[p][q-1]=='-')map[p][q-1]='a';dfs(p,q-1);}if(map[p][q+1]=='-'||map[p][q+1]=='H'){if(map[p][q+1]=='-')map[p][q+1]='a';dfs(p,q+1);}}int main(){cin >> R >> C;int tempi,tempj;for(int i=0;i<R;++i)for(int j=0;j<C;++j){cin >> map[i][j];if(map[i][j]=='B'){tempi = i;tempj = j;}}dfs(tempi,tempj);if(flag==true)cout << "Y" << endl;elsecout << "N" << endl;return 0;}
1 0
- 第六届华为创新杯编程大赛-进阶1第3轮
- 第六届华为创新杯编程大赛-进阶1第1轮
- 第六届华为创新杯编程大赛
- 第六届华为创新杯编程大赛-----电话号码本的设计
- 【大坑特坑】第六届华为“创新杯”编程大赛初赛题目(第五场)
- 2014第六届华为创新杯编程大赛初赛解题报告
- 2014第六届华为编程大赛初赛第四轮
- 第五届华为“创新杯”编程大赛初赛题目(第二场)
- 2014第六届华为编程大赛初赛第一轮
- 华为编程大赛第二轮
- 首届“华为杯”软件编程设计大赛
- 华为第四届编程大赛题目
- 2012届华为编程大赛第一题
- 2012届华为编程大赛第二题
- 华为2012编程大赛题目(1)
- 华为编程大赛资格赛第4轮题目,求n个数的最大公约数
- 第4届华为编程大赛决赛试题解答(棋盘覆盖)
- 第4届华为编程大赛决赛试题解答(棋盘覆盖)
- 一个迷茫的计算机专业的大一学生-----致自己
- hdu 1241 Oil Deposits
- Spring 之 HelloWorld
- 醉酒螳螂问题
- Cocos2d-x 3.0 回调函数的变化 .
- 第六届华为创新杯编程大赛-进阶1第3轮
- ios 配置颜色
- samba 文件和文件夹权限控制
- NOIP提高组 1999 & 2000 题解合集
- HDU解题报告——1717
- Effective C++:条款52 写了placement new也要写placement delete
- [leetcode]Edit Distance
- POJ Goldbach's Conjecture
- 当然了,两岸关系也不可能是一帆风顺的