题目:题目描述
中心城市消防部门与运输部门合作,维护反映城市街道现状的城市地图。消防员需要能够选择从火警站到火警的路线。
中心城市分为不重叠的消防区。当报告发生火灾时,中央调度员通知火灾发生地区最近的火警站,并列出可能路线。您必须编写一个程序,中央调度员可以使用该程序来生成从地区火警站到火灾的路线。

输入
消防区都用小于 21 的正整数来标识,而且火场始终位于第一个消防区。输入文件包含多个测试用例,代表不同火灾。

• 测试用例的第一行由一个整数组成,该整数是距离火灾最近的火警站。

• 接下来的几行由成对的正整数组成,这些成对的正整数是开放街道相邻的消防区。(例如,如果对 4 7 在一行上,则消防区 4 和消防区 7 之间的街道是开放的。没有其他消防区在 4 和 7 之间。)

• 每个测试用例的最后一行由一对 0 组成。

输出
对于每个测试用例,您的输出必须通过编号来标识用例("CASE 1:","CASE 2:"等)。它必须列出每条路线,并按照字典序从小到大输出。它必须提供从火警站到火灾地点的总路线。
不同用例的输出必须分开显示。

样例输入
6
1 2
1 3
3 4
3 5
4 6
5 6
2 3
2 4
0 0
4
2 3
3 4
5 1
1 6
7 8
8 9
2 5
5 7
3 1
1 8
4 6
6 9
0 0

样例输出
CASE 1:
1 2 3 4 6
1 2 3 5 6
1 2 4 3 5 6
1 2 4 6
1 3 2 4 6
1 3 4 6
1 3 5 6
There are 7 routes from the firestation to streetcorner 6.
CASE 2:
1 3 2 5 7 8 9 6 4
1 3 4
1 5 2 3 4
1 5 7 8 9 6 4
1 6 4
1 6 9 8 7 5 2 3 4
1 8 7 5 2 3 4
1 8 9 6 4
There are 8 routes from the firestation to streetcorner 4.

之前写过一种算法 也是dfs,既然开博客记录重新写一个也无所谓。

#include <stdio.h>
int *SZZZ[100];
int  MGSL[100] = { 0 };
int YGDS[100] = { 0 };
int JLBS[6] = { 0 };
void dfs(int KSD,int CCDWZ)
{int MGDSL = 0;int XHBL = 0;MGDSL = MGSL[KSD];if (6 == KSD){for (XHBL = 0; XHBL < CCDWZ; XHBL++)printf("%d ", JLBS[XHBL]);printf("6\n");return;}for (XHBL; XHBL < MGDSL; XHBL++){if (0==YGDS[KSD]){YGDS[KSD] = 1;JLBS[CCDWZ] = KSD;dfs(SZZZ[KSD][XHBL],CCDWZ+1);YGDS[KSD] = 0;}}
}
int main()
{int DYG = 0;int DEG = 0;int J××× = 0;int XHBL = 0;//初始化指针for (XHBL = 0; XHBL < 100; XHBL++){SZZZ[XHBL] = malloc(sizeof(int) * 100);}scanf_s("%d", &J×××);for (XHBL = 0; XHBL < J×××; XHBL++){scanf_s("%d", &DYG);scanf_s("%d", &DEG);SZZZ[DYG][MGSL[DYG]++] = DEG;SZZZ[DEG][MGSL[DEG]++] = DYG;}dfs(1, 0);return 0;
}

我代码默认写进到终点是6 了 自己改下就行了

转载于:https://blog.51cto.com/3458905/2314704

UVA 208 划水记录2相关推荐

  1. UVA - 208 Firetruck

    UVA - 208 Firetruck 题目大意 构造出一张图,给出一个点,让你按字典序输出所有从1到该点的路径 一开始直接DFS超时了 后面看到大佬的优化,大意就是很多起点与终点不相连,需要一开始剪 ...

  2. Firetruck UVA - 208

    DFS+并查集 如果只用DFS的话会超时,用并查集剪枝,和起点终点不联通的点就不用跑了 这题有好多人写了博客,但是我觉得我的代码写的比较通俗易懂所以就贴上来了,我觉得我写代码的目标就是让任何人都能看懂 ...

  3. UVa 208 - Firetruck (回溯)

    题意 给出一个无向图和终点的编号 按字典序枚举出从1到终点的路径 思路 要事先判断结点1是否可以到达结点k, 用一个bool judge()函数判断一下从终点能否回到1点即可. 如果无解直接输出有0种 ...

  4. UVa 208 Firetruck【回溯】

    题意:给出一个n个节点的无向图,以及某个节点k,按照字典序从小到大输出从节点1到节点k的所有路径 看的题解 http://blog.csdn.net/hcbbt/article/details/975 ...

  5. UVA - 208 Firetruck(并查集+dfs)

    题目: 给出一个结点d和一个无向图中所有的边,按字典序输出这个无向图中所有从1到d的路径. 思路: 1.看到紫书上的提示,如果不预先判断结点1是否能直接到达结点d,上来就直接dfs搜索的话会超时,于是 ...

  6. UVA 208 救火车

    直接DFS会导致超时TLE http://www.cnblogs.com/staginner/archive/2011/09/07/2170348.html 中写到,如果首先求出与着火点相连的顶点再D ...

  7. linux睿频是自动的吗,Linux限制cpu睿频限制频率

    as3.0 [Embed]标签嵌入外部资源 1.[Embed]嵌入资源 ActionScript代码的顺序非常重要.你必须在声明变量前添加[Embed]元数据标签,而且这个变量的类型会是Class; ...

  8. π-Algorithmist分类题目(2)

    原题网站:Algorithmist,http://www.algorithmist.com/index.php/Main_Page π-Algorithmist分类题目(2) Set Theory U ...

  9. Fisher线性判别

    Fisher线性判别 一.算法介绍 1.背景: 在应用统计方法解决模式识别问题时,一再碰到的问题之一就是维度问题,在低维空间里解析上或计算上行得通的方法,在高维空间里往往行不通.降低维度有时会成为处理 ...

最新文章

  1. [洛谷P1317]低洼地
  2. 图像标记工具Labelme和LabelImg
  3. matlab访问数组的元素,使用分类数组访问数据
  4. MVC 中用JS跳转窗体Window.Location.href
  5. mysql查看binlog日志内容
  6. bzoj2431:[HAOI2009]逆序对数列
  7. 用DropDownList实现的省市级三级联动
  8. java泛型要用t,Java泛型中T和問號(通配符)的區別
  9. 动态壁纸html怎么设置方法,动态壁纸怎么设置
  10. Newt Scamander的恐惧
  11. No installations recognized以及nvm use失败问题
  12. 单片机外部中断触发方式:电平触发和边沿触发两者说明
  13. Python爬取图片并命名
  14. 最小生成树(普里姆算法)
  15. 爬取猫眼电影top100
  16. 架构师必看-架构之美第14章-两个系统的故事:混乱大都市(一)
  17. 第三方平台生成的CSV,如何导入上传到淘宝店铺
  18. CAN总线BUS OFF
  19. Excel按照模板导出并下载
  20. 震旦Aurora ADC225 一体机驱动

热门文章

  1. Tomcat在Linux上的安装
  2. iOS UIWebView清除缓存
  3. request.getParameterMap()使用
  4. [河南省ACM省赛-第三届] AMAZING AUCTION (nyoj 251)
  5. SVN Error: “' 'x' isn't in the same repository as 'y' ” during merge (并不在同一个版本库中)...
  6. 果你的浏览器关闭了 java,weblogic之CVE-2018-3191漏洞分析
  7. mysql导vertica_vertica系列:数据的导入导出
  8. 来谈谈C++ 位运算 | ^ ~ %
  9. MySQL在远程访问时非常慢的解决skip-name-resolve
  10. 2016年CIO的五个优先级