吝啬的国度

时间限制: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+邻接表相关推荐

  1. 采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径。设计算法,将一个无向图的邻接矩阵转换为邻接表。

    采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径.设计算法,将一个无向图的邻接矩阵转换为邻接表. 采用邻接表存储有向图,设计算法判断任意两个顶点间是否存在路径. 设计算法,将一个无向图的邻 ...

  2. Edmonds-Karp算法(EK算法)简单讲解及实现(邻接表)

    目录 最大流问题介绍 图定义 源点与汇点 最大流问题描述 Ford-Fulkerson方法 回退边与增广图 伪代码 图解 Edmonds-Karp算法 复杂度 代码实现细节 代码 最大流问题介绍 图定 ...

  3. 图的遍历(C语言,邻接表存储的图 - DFS,邻接矩阵存储的图 - BFS)

    邻接表存储的图 - DFS /* 邻接表存储的图 - DFS */void Visit( Vertex V ) {printf("正在访问顶点%d\n", V); }/* Visi ...

  4. NYOJ 20 吝啬的国度(深搜)

    描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设 ...

  5. NYOJ 20 吝啬的国度 广度优先搜索

    吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有 ...

  6. NYOJ 20 吝啬的国度 (搜索)

    吝啬的国度 时间限制:1000 ms  |  内存限制:65535 KB 难度:3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有 ...

  7. 吝啬的国度(dfs)

    Description 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城 ...

  8. NYOJ 20 吝啬的国度(深搜)

    描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设 ...

  9. NYOJ 20 吝啬的国度

    吝啬的国度 时间限制: 1000 ms  |  内存限制: 65535 KB 难度: 3 描述 在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市 ...

最新文章

  1. # Ubuntu 配置自带vnc桌面共享
  2. django官方文档1.11编翻:1-1-1概述
  3. ddr test DCD CFG file CBT
  4. ABP vNext微服务架构详细教程——分布式权限框架(上)
  5. node.js——麻将算法(二)赖子玩法
  6. oracle快速创建可用用户
  7. 《深度学习轻松学》-第8章优化与训练
  8. 一个单独的UDP数据包能够放入数据的最大长度是65508
  9. 高程(三)--- Date
  10. 在Eclipse上用JAVA连接数据库
  11. 全网最新springCloud快速练手学习项目——简单超易懂系列
  12. 干货分享!12款响应式的移动网站模板免费下载
  13. 批量保存微信收藏的表情包
  14. 例2.2 圆柱体的表面积
  15. 洛谷1260 工程规划
  16. mysql全文索引详解_MySql全文索引详解
  17. 【大数据】大数据技术框架,有这一篇文章就够了
  18. 软考_2021年11月真题
  19. taobao.trades.sold.get-查询卖家已卖出的交易数据(根据创建时间),淘宝店铺卖出订单查询API接口,R2接口,oAuth2.0交易接口代码分享
  20. PCF2.5重磅发布!Istio和Envoy助力开发人员工作更高效!

热门文章

  1. 【HDU 6608】Fansblog(威尔逊定理+逆元+快速乘+快速幂)
  2. java Excel导出功能之 不固定列表格
  3. 服务器和交换机物理连接_Brocade博科交换机 SAN存储区域网络
  4. 嵌入式工程师的2022 || 2023
  5. GMM与K-means的那些事
  6. 计网实验七:应用层协议服务配置(DNS,HTTP,FTP)
  7. 孤尽训练营打卡日记day28--第四周总结
  8. iOS第三方登录之Twitter(登录,获取用户信息)含demo
  9. S7200SMART 软件在虚拟机中连接PLC笔记
  10. 第一次社招笔试题回顾(全基础题)