生化危机 (深搜 建图)
来源:互联网 发布:如何激活windows 编辑:程序博客网 时间:2024/05/11 06:02
生化危机
发布时间: 2015年10月10日 18:05 时间限制: 1000ms 内存限制: 256M
X博士想造福人类, 研发一种可以再生肢体的药物, 可是很不幸......研究失败了, 他在蜥蜴身上实验的时候, 蜥蜴发生了变异, 更糟糕的是, 蜥蜴逃出了生化实验室.
恐怖的事情发生了, 疫情以X博士所在的城市为中心向四周扩散开, 最终, 整个地球上的城市都被感染了.假设整个地球一共有N个城市, 这N个城市是连通的, 有N-1条通道把他们连接起来.病毒会以一座城市为中心,在一天的时间内, 会把和他相连的周围的所有城市感染. 那么, 多少天的时间, 整个地球的城市都感染呢?
第一行输入一个T(T <= 50), 表示一共有T组测试数据.
每组数据第一行两个数n, k. n表示有n(2 <= n <= 10000)个城市, 代表城市1-n, k是X博士所在的城市.
接下来n-1行, 每行有两个数u, v, 表示城市u和v之间有一条通道.
每组数据第一行输出第一个数 x , 表示整个地球感染需要x天.
接下来 x 个数, 第i个数表示第i天感染了城市的数量.
(注意, 每组数据第二行每个数据后边都有一个空格)
23 11 22 33 21 22 3
31 1 121 2
1. 存图 , vector 数组存边
2. 从起点开始,向后深搜,沿途标记走过的点,沿途计算ans 数组 每步感染的数目。
3. 打印输出。
#include<cstdio>#include<cstring>#include<cmath>#include<vector>#include<iostream>#include<algorithm>using namespace std;const int maxn = 10100;vector <int> link[maxn]; //记录关系bool sign[maxn]; // 标记是否走过int ans[maxn]; // 记录结果void init(int m) // 初始化{ memset(sign,0,sizeof(sign)); memset(ans,0,sizeof(ans)); for(int i = 0; i <= m; i++) link[i].clear();}void dfs(int cur,int step){ for(int i = 0; i < link[cur].size(); i++) { int tmp = link[cur][i]; if(sign[tmp] == 0) { sign[tmp] = 1; ans[step] ++; dfs(tmp,step+1); } }}int main(){ int t; int m,n; cin >> t; while(t--) { cin >> m >> n; init(m); // 初始化 for(int i = 0; i < m-1; i++) { int x,y; cin >> x >> y; link[x].push_back(y); link[y].push_back(x); } sign[n] = 1; ans[1] = 1; dfs(n,2); int cnt = 0 ; while(ans[cnt+1]) cnt++; cout << cnt <<endl; for(int i = 1; i <= cnt; i++) cout << ans[i] << " "; cout << endl; } return 0;}
生化危机
发布时间: 2015年10月10日 18:05 时间限制: 1000ms 内存限制: 256M
X博士想造福人类, 研发一种可以再生肢体的药物, 可是很不幸......研究失败了, 他在蜥蜴身上实验的时候, 蜥蜴发生了变异, 更糟糕的是, 蜥蜴逃出了生化实验室.
恐怖的事情发生了, 疫情以X博士所在的城市为中心向四周扩散开, 最终, 整个地球上的城市都被感染了.假设整个地球一共有N个城市, 这N个城市是连通的, 有N-1条通道把他们连接起来.病毒会以一座城市为中心,在一天的时间内, 会把和他相连的周围的所有城市感染. 那么, 多少天的时间, 整个地球的城市都感染呢?
第一行输入一个T(T <= 50), 表示一共有T组测试数据.
每组数据第一行两个数n, k. n表示有n(2 <= n <= 10000)个城市, 代表城市1-n, k是X博士所在的城市.
接下来n-1行, 每行有两个数u, v, 表示城市u和v之间有一条通道.
每组数据第一行输出第一个数 x , 表示整个地球感染需要x天.
接下来 x 个数, 第i个数表示第i天感染了城市的数量.
(注意, 每组数据第二行每个数据后边都有一个空格)
- 生化危机 (深搜 建图)
- zzuli 1787: 生化危机 (BFS)
- ZZULIOJ 1787 生化危机 (vector+DFS)
- zzulioj 1787: 生化危机 (vector+dfs) 好题
- qduoj 生化危机
- qduoj 生化危机
- qduoj 生化危机&&ycb老师的电脑中毒了(邻接表)
- 生化危机3下载地址
- 生化危机代号维罗尼卡物品代码
- 生化危机之父:三上真司
- 【其他】【RQNOJ】生化危机
- 生化危机4 宝物组合
- 《生化危机5:惩罚》
- 《生化危机5:惩罚》观后感
- soj1080生化危机三
- 生化危机6终章中英双字
- 生化危机?待解决
- CS1.6生化危机竞技版
- ArrayList的toArray
- php实现页面静态化
- [leetcode]66. Plus One(Java)
- 【面试题】剑指offer19--二叉树的镜像
- 用client-go二开kubernetes glide的golang 的包管理
- 生化危机 (深搜 建图)
- linux下VIM的使用(必看)
- HTTP长连接和短连接 + Websocket
- Nginx允许跨域访问的配置问题
- sql行转列
- webstrom自动编译sass文件为css
- 大数据之数仓平台设计思路01
- SDUT-1204 C语言实验——字符编码
- 【Cocos2dx-lua 3.11.1】编译cocos的simulator.exe用F5快捷刷新cocos-lua项目。