吝啬的国度(深搜)
来源:互联网 发布:java nio长连接实现 编辑:程序博客网 时间:2024/06/06 16:54
题目传送门
题目描述:
在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。
解题思路:
使用集合存储相通道路,从起点开始开始搜索,直到全部的城市前城市找到。
代码部分
#include<iostream>#include<string>#include<string.h>#include<sstream>#include<queue>#include<vector>using namespace std;vector <int> city[100005]; //存储相通的道路int pre[100005]; //标记上一号城市int m,n,s,a,b;void dfs(int s){ for (vector<int>::iterator it=city[s].begin(); it!=city[s].end(); it++)//遍历全部相通道路 { if (pre[*it]) //如果已近找到上一号城市 continue; pre[*it]=s; //未找到把s标记为上一号城市 dfs(*it); }}int main(){ cin>>n; while (n--) { memset(city,0,sizeof(city)); memset(pre,0,sizeof(pre)); cin>>m>>s; for (int i=1; i<m; i++) { cin>>a>>b; city[a].push_back(b); city[b].push_back(a);//这两句话表示a,b相通 } pre[s]=-1; //初始道路 dfs(s); for(int i=1; i<=m; ++i) { cout<<pre[i]<<" "; } cout<<endl; } return 0;}
阅读全文
0 0
- 吝啬的国度(深搜)
- 吝啬的国度 深搜
- 吝啬的国度(深搜+vector)
- nyoj20吝啬的国度(深搜)
- nyoj 20 吝啬的国度 (深搜)
- NYOJ20 吝啬的国度 【深搜】
- 吝啬的国度(dfs)
- 吝啬的国度(DFS)
- 吝啬的国度(dfs)
- NYOJ-20 吝啬的国度【深搜】
- nyoj题目20吝啬的国度【深搜】
- nyoj-20-吝啬的国度(深搜)
- NYOJ 20 吝啬的国度(深搜)
- NYOJ 20 吝啬的国度(深搜)
- nyoj-20-吝啬的国度(深搜)
- NYOJ 吝啬的国度(DFS)
- NYOJ 20 吝啬的国度 (搜索)
- Nyoj 20 吝啬的国度(dfs)
- POJ-1185-炮兵阵地(状压DP)
- JVM内存配置
- windows远程桌面连接
- C语言实现单链表面试题--进阶
- JSTL
- 吝啬的国度(深搜)
- Linux的free命令以及cache与buffer的区别
- Reactor与Proactor的区别
- base64img
- 美情报高级研究计划局研发多项下一代情报技术
- Python嵌套列表转一维(压平嵌套列表)
- Flex文件操作相关
- STM32F4独立看门狗IWDG
- Spring4第五讲学习笔记,整合Spring,Struts,Mybatis框架