描述

在一个吝啬的国度里有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

在学BFS,所以写了个BFS的程序,暂时,似乎有点懂BFS了!

//Asimple 的 BFS
#include <stdio.h>
#include <iostream>
#include <algorithm>
#include <vector>
#include <queue>using namespace std;
const int maxn = 100010;
int n, T, num, cnt, p, start;
queue<int> q;
vector<int> v[maxn];
int vis[maxn];//保存路径int main()
{cin >> T ;while( T -- ){memset(vis,0,sizeof(vis));cin >> n >> start ;for(int i=1; i<=n; i++)v[i].clear();//清空for(int i=1; i<n; i++){cin >> num >> p ;v[num].push_back(p);v[p].push_back(num);//表示两城市连通}q.push(start);vis[start] = -1 ;while( !q.empty() ){int k = q.front();q.pop();int len = v[k].size();//通向k的路径的条数for(int i=0; i<len; i++){if( !vis[v[k][i]] ){q.push(v[k][i]);vis[v[k][i]] = k ;}}}for(int i=1; i<n; i++)cout << vis[i] << " " ;cout << vis[n] << endl ;}return 0;
}

转载于:https://www.cnblogs.com/Asimple/p/5532579.html

ACM题目————吝啬的国度相关推荐

  1. 题目20: 吝啬的国度

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

  2. nyoj------20吝啬的国度

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

  3. NYOJ 20 吝啬的国度 续

    还是<吝啬的国度>,研读了别人的较为高效的代码,无论是时间开销,还是空间开销都要小很多啊,截图为证: 我的所有运行: 52ms的是我参照别人的写的代码,时间开销比我的小将近一半,内存开销仅 ...

  4. 吝啬的国度——树的存储和信息表示

    目录 编程题--吝啬的国度 题目:吝啬的国度 解题思路 AC代码 知识点-- 树的存储和信息表示 树的存储方式 树的存储代码 树的信息表示 总结 编程题--吝啬的国度  题目:       吝啬的国度 ...

  5. 《图论》— NYOJ 20 吝啬的国度

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

  6. ny20 吝啬的国度

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

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

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

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

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

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

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

最新文章

  1. 把一个数组的值存入二叉树中,然后利用前序、中序、后序3种方式进行遍历(完整代码以及运行结果)(Java)
  2. 平述factory reset ——从main system到重引导流程
  3. LINUX IP命令详解
  4. 阿里巴巴资深技术专家雷卷:值得开发者关注的 Java 8 后时代的语言特性
  5. 基环树一些有趣的事情
  6. LeetCode 294. 翻转游戏 II(记忆化递归)
  7. 更司马懿学管理计算机,跟司马懿学管理(一)无悔的选择是好选择
  8. 利用LDA主题模型的生成过程仿真数据
  9. 如何做到注册不到三年Github标星47.1k+(几点经验)
  10. Console.log对象显示
  11. 使用Scylla进行OSINT信息收集
  12. 平板边界层内的流速分布实验
  13. java rx3x_GitHub - xkm123/oss-sdk-java: java sdk for oss
  14. excel 小技巧选某些列的时候总是选到后面的空的部分解决方法
  15. 鼠标移动让图片倾斜45度
  16. 1-8代酷睿全部中招,英特尔处理器再曝漏洞
  17. 了解、熟悉、精通 的三种并代表什么意思
  18. SAR/GMTI-概述及常用抑制杂波方法DPCA
  19. python统计英语单词出现次数
  20. 紫薯第9章动态规划,从入门到入土, dp 它tnl(背包代码模板部分)

热门文章

  1. SQL 2005 收缩事务日志文件
  2. Redis 总结精讲 看一篇成高手系统 四
  3. Pixhawk原生固件PX4之位姿控制算法解读
  4. pixhawk软件架构
  5. 原创 MySQL探秘(八):基于Redo Log和Undo Log的MySQL崩溃恢复流程(一致性)
  6. centos7 下安装mysql5.7
  7. 如何只下载一个github项目的某一特定文件夹或文件
  8. C++ vector中的resize,reserve,size和capacity函数讲解
  9. Leetcode题库234.回文链表(递归 类似双指针 c实现)
  10. [BUUCTF-pwn]——pwnable_echo2