小白算法练习 NYOJ 吝啬的国度 dfs+邻接表
吝啬的国度
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述
在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来。现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你不走重复的路)。
输入
第一行输入一个整数M表示测试数据共有M(1<=M<=5)组
每组测试数据的第一行输入一个正整数N(1<=N<=100000)和一个正整数S(1<=S<=100000),N表示城市的总个数,S表示参观者所在城市的编号
随后的N-1行,每行有两个正整数a,b(1<=a,b<=N),表示第a号城市和第b号城市之间有一条路连通。
输出
每组测试数据输N个正整数,其中,第i个数表示从S走到i号城市,必须要经过的上一个城市的编号。(其中i=S时,请输出-1)
样例输入
1
10 1
1 9
1 8
8 10
10 3
8 6
1 2
10 4
9 5
3 7
样例输出
-1 1 10 10 9 8 3 1 1 8
代码
using namespace std;
const int Max=100001;
int vis[Max];
int pre[Max];
vector<int>vec[Max];
void init(int a,int b){vec[a].push_back(b);vec[b].push_back(a);pre[b]=a;
}
void DFS(int j){ for(int i=0;i<vec[j].size();i++){if(vis[vec[j][i]]==0){// cout<<vec[j][i]<<" ";vis[vec[j][i]]=1;pre[vec[j][i]]=j;DFS(vec[j][i]);}}
}
int main(){// freopen("E://1001.txt","r",stdin);int M;//组别;cin>>M;for(int i=0;i<M;i++){int N,S;//节点个数,所在位置cin>>N>>S;for(int i=1;i<=N;i++){vec[i].push_back(i);pre[i]=-1;}for(int i=1;i<N;i++){int a,b;cin>>a>>b;init(a,b); } memset(vis,0,sizeof(vis));DFS(S);pre[S]=-1;for(int i=1;i<=N;i++){cout<<pre[i]<<" ";}cout<<endl;for(int i=1;i<=N;i++){vec[i].clear();}}
}
小白算法练习 NYOJ 吝啬的国度 dfs+邻接表相关推荐
- 采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径。设计算法,将一个无向图的邻接矩阵转换为邻接表。
采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径.设计算法,将一个无向图的邻接矩阵转换为邻接表. 采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径. 设计算法,将一个无向图的邻 ...
- Edmonds-Karp算法(EK算法)简单讲解及实现(邻接表)
目录 最大流问题介绍 图定义 源点与汇点 最大流问题描述 Ford-Fulkerson方法 回退边与增广图 伪代码 图解 Edmonds-Karp算法 复杂度 代码实现细节 代码 最大流问题介绍 图定 ...
- 图的遍历(C语言,邻接表存储的图 - DFS,邻接矩阵存储的图 - BFS)
邻接表存储的图 - DFS /* 邻接表存储的图 - DFS */void Visit( Vertex V ) {printf("正在访问顶点%d\n", V); }/* Visi ...
- NYOJ 20 吝啬的国度(深搜)
描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设 ...
- NYOJ 20 吝啬的国度 广度优先搜索
吝啬的国度 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有 ...
- NYOJ 20 吝啬的国度 (搜索)
吝啬的国度 时间限制:1000 ms | 内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有 ...
- 吝啬的国度(dfs)
Description 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城 ...
- NYOJ 20 吝啬的国度(深搜)
描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设 ...
- NYOJ 20 吝啬的国度
吝啬的国度 时间限制: 1000 ms | 内存限制: 65535 KB 难度: 3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市 ...
最新文章
- # Ubuntu 配置自带vnc桌面共享
- django官方文档1.11编翻:1-1-1概述
- ddr test DCD CFG file CBT
- ABP vNext微服务架构详细教程——分布式权限框架(上)
- node.js——麻将算法(二)赖子玩法
- oracle快速创建可用用户
- 《深度学习轻松学》-第8章优化与训练
- 一个单独的UDP数据包能够放入数据的最大长度是65508
- 高程(三)--- Date
- 在Eclipse上用JAVA连接数据库
- 全网最新springCloud快速练手学习项目——简单超易懂系列
- 干货分享!12款响应式的移动网站模板免费下载
- 批量保存微信收藏的表情包
- 例2.2 圆柱体的表面积
- 洛谷1260 工程规划
- mysql全文索引详解_MySql全文索引详解
- 【大数据】大数据技术框架,有这一篇文章就够了
- 软考_2021年11月真题
- taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,R2接口,oAuth2.0交易接口代码分享
- PCF2.5重磅发布!Istio和Envoy助力开发人员工作更高效!
热门文章
- 【HDU 6608】Fansblog(威尔逊定理+逆元+快速乘+快速幂)
- java Excel导出功能之 不固定列表格
- 服务器和交换机物理连接_Brocade博科交换机 SAN存储区域网络
- 嵌入式工程师的2022 || 2023
- GMM与K-means的那些事
- 计网实验七:应用层协议服务配置(DNS,HTTP,FTP)
- 孤尽训练营打卡日记day28--第四周总结
- iOS第三方登录之Twitter(登录,获取用户信息)含demo
- S7200SMART 软件在虚拟机中连接PLC笔记
- 第一次社招笔试题回顾(全基础题)