7-1 FireTruck 消防车 uva208
题意: 输入一个n <=20 个结点的无向图以及某个结点k 按照字典序从小到大顺序输出从结点1到结点k的所有路径 要求结点不能重复经过
标准回溯法
要实现从小到大字典序 现在数组中排序好即可
标记数组一定要删去!!!!切记 又因为这个弄错了
提高效率的方法:
先遍历一遍所有点 把和k点相关的点存入数组中 那些无关的点根本用不到
同时也解决了如果 1与k不相连所造成的大量时间浪费
#include<bits/stdc++.h> using namespace std; #define N 22 int k; int path[N]; int mp[N][N]; int cnt=0; int vis[N]; vector<int>s; void dfs1(int x) {vis[x]=1;s.push_back(x);for(int i=1;i<21;i++)if(mp[x][i]&&!vis[i])dfs1(i); }void dfs(int node,int cur) {if(node==k){cnt++;printf("1");for(int i=1;i<cur;i++)printf(" %d",path[i]);printf("\n");}for(int i=1;i<s.size();i++){if(mp[node][s[i]])if(!vis[ s[i] ]){path[cur]=s[i];vis[ s[i] ]=1;dfs( s[i] ,cur+1);vis[ s[i] ]=0;}} }int main() { int cas=0;while(scanf("%d",&k)==1&&k){int a,b;memset(mp,0,sizeof mp);while(scanf("%d %d",&a,&b)&&b&&a){mp[a][b]=mp[b][a]=1;}s.clear();path[0]=1;cnt=0;dfs1(k);sort(s.begin(),s.end());memset(vis,0,sizeof vis);printf("CASE %d:\n",++cas);dfs(1,1);printf("There are %d routes from the firestation to streetcorner %d.\n", cnt, k);} }
转载于:https://www.cnblogs.com/bxd123/p/10416035.html
7-1 FireTruck 消防车 uva208相关推荐
- python怎么复制字符串_python字符串复制的几种方法
>>> list1 = [1,2] >>> id(list1) 50081032 >>> list2 = list1.copy() >> ...
- 习题7-1 消防车(Firetruck,ACM/ICPC World Finals 1991, UVa208)
原题链接:https://vjudge.net/problem/UVA-208 备注:回溯法 分类:DFS 代码如下: #include<cstdio> #include<cstri ...
- UVA208 消防车 Firetruck
知识点:图的遍历,回溯 这个题其实就是图的遍历然后加上回溯,但是有点坑的是,我们在找路径之前,要先判断1是不是能到k点,否则会超时,这个要不是看提示,还真想不到,因为如果不用别的函数来判断是不是连通的 ...
- 消防车Firetruck
题目描述 中心城市消防部门与运输部门合作,维护反映城市街道现状的城市地图.消防员需要能够选择从火警站到火警的路线. 中心城市分为不重叠的消防区.当报告发生火灾时,中央调度员通知火灾发生地区最近的火警站 ...
- 2022-2028年中国消防车行业市场前瞻与投资战略规划分析报告
[报告类型]产业研究 [报告价格]¥4500 [出版时间]即时更新(交付时间约3个工作日) [发布机构]智研瞻产业研究院 [报告格式]PDF版 本报告介绍了中国消防车行业市场行业相关概述.中国中国消防 ...
- 通道设置_烟台240家住宅小区、346家重点单位完成消防车通道标识设置
"有了这样显眼的标识后,消防通道更加清晰可见,提醒大家时刻注意保持消防通道畅通.这样一来,发生火灾消防车能及时通过,我们出行.生活也增添了一份安全保障."消防监督人员在指导小区物业 ...
- ps绿化工具_绿化消防车价位
绿化消防车价位绿化消防车价位 4吨东风消防洒水车,又称为多功能消防车,它是在东风原装二类底盘基础上加消防泵.消防炮.洒水炮及洒水车的前冲后洒.侧喷及水罐体组成,既能参加救火灭火功能,水炮的有效射程≥4 ...
- UVA - 208 Firetruck
UVA - 208 Firetruck 题目大意 构造出一张图,给出一个点,让你按字典序输出所有从1到该点的路径 一开始直接DFS超时了 后面看到大佬的优化,大意就是很多起点与终点不相连,需要一开始剪 ...
- 三轴合并_用两套乐高60107合并成铰接式云梯消防车,看看和60112有什么区别
我们之前通过将乐高城市组 60107 那套云梯消防车改装成一个特技赛车冲过终点线的场景,来演示了积木的套内 MOC. 今天我们就来看看两套 60107 又能做什么. 60107 (2006) 2016 ...
最新文章
- python无法调用pygame,python-pycharm无法识别pygame程序包
- 香帅的北大金融学课笔记19 -- 科技金融
- 「PKUWC2018」随机游走
- 只有学霸才懂的学习技巧,看完脑洞大开,绝对涨姿势!
- 话术php源码,恋爱话术宝典织梦源码
- Valgrind快速入门指南
- django序列化器嵌套_Django Rest Framework中用于OneToOne字段的序列化程序中的嵌套关​​系
- 效果好,速度快!大连海事大学提出基于增强多任务学习的单图像去雨算法MENET...
- ARM平台AMBA总线uart驱动和console初始化
- foobar2000 播放dsd 512
- 使用VSTO开发Excel WorkBook文档级项目中出现的Bug及处理办法
- UE4 解除帧率限制
- java中raiseSalary_用Java编写常用的工资管理系统,目的是把每个人的工资上涨百分之五...
- 获取汉字拼音首字母方法
- 广发股票交易接口做什么的?
- 云计算供应商在合同谈判时可能拒绝的三个事项以及要求
- Linux DMA Engine framework(2)_功能介绍及解接口分析
- 文件上传控件SWFUpload使用指南分享
- 小熊派移植华为 LiteOS-M(基于MDK)
- mysql入门第一章