Firetruck(dfs)
来源:互联网 发布:如何面试java架构师 编辑:程序博客网 时间:2024/05/23 16:52
题目来源:1991 ACM Final,Problem A,Firetruck(UVa 208)
题意:给定目标街口,问从街口1到目标街口路径条数并打印出路径。(最多20个街口)
思路:本题是典型的路径搜索问题,搜索从位置1开始。依次将搜索到的街口编号放入路径path中。如果搜索到目标街口,那么本次搜索结束,并输出该路径,可达路径数增加1。如果没有到达目标街口,那么判断当前可到达的街口,是否出现在先前的那段路径中,若出现,则放弃,否则,加入路径。
代码:
int sum,aim;//路径条数,目标街口int path[22];//保存路径int street[22][22];//街道图,双向的void dfs(int pos,int path[],int index){ if(pos==aim) { sum++; for(int i=0;i<index;i++) cout<<path[i]; cout<<endl; } for(int i=1;i<22;i++) { if(street[pos][i]) { int j; for(j=0;j<index;j++)//查看街口是否已经在路径path上出现过 if(path[j]==i) break;//如果出现过,放弃 if(j==index) { path[index]=i; dfs(i,path,index+1); } } }}int main(){ /*输入略*/ memset(street,0,sizeof(street)); street[u][v]=street[v][u]=1; path[0]=1; sum=0; dfs(1,path,1); /*...*/ return 0;}
阅读全文
1 0
- Firetruck(dfs)
- UVa 208:Firetruck(DFS)
- uva 208 -Firetruck(dfs)
- UVA Firetruck (DFS)
- UVA 208 FireTruck DFS
- UVA 208 Firetruck(DFS)
- uva 208 Firetruck (DFS + 并查集)
- UVa 208 - Firetruck(DFS判连通+回溯)
- Uva 208 Firetruck(dfs并查集优化)
- UVa 208 Firetruck / dfs + floyd
- UVa 208 - Firetruck <双向DFS>
- UVA 208 Firetruck DFS 并查集
- Uva208 Firetruck【dfs】【习题7-1】
- UVA - 208 Firetruck(回溯)
- uva 208 Firetruck (回溯)
- UVa 208 - Firetruck(剪枝)
- UVA 208 - Firetruck DFS 并查集剪枝
- (未)uva208 - Firetruck
- 【XSY1545】直径 虚树 DP
- 数据结构实验之查找二:平衡二叉树
- 学习笔记 -- Win32多线程程序设计(二) WaitForSingleObject and WaitForMultipleObjects
- 微信,支付宝,支付异步通知验签,notify_url
- 初探图像领域
- Firetruck(dfs)
- 第二十六篇:JAVA多线程机制之同步与互斥
- Eclipse Servlet出错问题
- [Leetcode] 359. Logger Rate Limiter 解题报告
- 【Ubuntu-Tensorflow】GPU设置及显存资源分配
- 云服务器+域名+nodejs(小白建站)
- tablayout与侧滑展示
- 第二十七篇:JAVA多线程机制之暂停、恢复和停止
- 安装Python的第三方库