qduoj 生化危机
生化危机
发布时间: 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天感染了城市的数量.
(注意, 每组数据第二行每个数据后边都有一个空格)
样例输入1 复制
2
3 1
1 2
2 3
3 2
1 2
2 3
样例输出1
3
1 1 1
2
1 2
利用邻接表存储图,考虑到城市个数比较多所以使用动态数组,注意数组的初始化和各项数据的初始化
#include<queue>
#include<cstdio>
#include<vector>
#include<cstring>
using namespace std;
const int M = 1e4 + 5;
struct Node
{int id;int step;//记录感染的天数
};
vector<int> mapp[M];
queue<Node> q;
int cnt[M];//存储第几天感染了多少
int d;
bool book[M];
void bfs(int s)
{Node temp, next;temp.id = s;temp.step = 1;cnt[1] = 1;book[s] = true;q.push(temp);while(q.size()){temp = q.front();q.pop();vector<int>::iterator it;for(it=mapp[temp.id].begin();it!=mapp[temp.id].end();it++){if(!book[*it]){book[*it] = true;next.id = *it;next.step = temp.step + 1;d = max(d, next.step);cnt[next.step]++;q.push(next);}}}
}
int main()
{int n, k, t;int u, v;scanf("%d", &t);while(t--){d = -1;memset(cnt, 0, sizeof(cnt));memset(book, false, sizeof(book));scanf("%d%d", &n, &k);for(int i=1;i<=n;i++)mapp[i].clear(); //以上均为初始化for(int i=1;i<n;i++){scanf("%d%d", &u, &v);mapp[u].push_back(v);mapp[v].push_back(u);}bfs(k);printf("%d\n", d);for(int i=1;i<=d;i++)printf("%d ", cnt[i]);printf("\n");}return 0;
}
qduoj 生化危机相关推荐
- qduoj 生化危机ycb老师的电脑中毒了(邻接表)
题目链接:https://qduoj.com/problem/22/点击打开链接 生化危机 发布时间: 2015年10月10日 18:05 时间限制: 1000ms 内存限制: 256M 描述 ...
- QDUOJ 生化危机 邻接表存图+BFS
生化危机 发布时间: 2015年10月10日 18:05 时间限制: 1000ms 内存限制: 256M 描述 X博士想造福人类, 研发一种可以再生肢体的药物, 可是很不幸......研究失败 ...
- lego-loam数据_使用lego minifigures数据集在fastai中对datablocks api图像进行分类
lego-loam数据 The topics covered in this post are as follows 这篇文章涵盖的主题如下 Introduction 介绍 The Task 任务 T ...
- python画七边形的角度_python之turtle模块-生化危机
相信很多人都看过<生化危机>,对里面的太阳伞公司应该都不陌生.太阳伞公司的图标如下. 今天我们就用python的turtle模块来画这样一把太阳伞. 思路如下: 1. 太阳伞可以近似的看成 ...
- 无路可逃java攻略_生化危机2重制版无路可逃怎么过_100丧尸模式幽灵生还者无路可逃流程攻略_3DM单机...
<生化危机2:重制版>的幽灵生还者DLC中,当玩家通关了前面的三章之后就能解锁第四章--无路可逃,这个关卡需要解决100个丧尸,难度十分之高,下面小编就为大家带来一篇"lu_mk ...
- 使用VIA声卡 运行生化危机5无声音的解决方案 无需卸载旧驱动
使用VIA声卡且驱动版本号是7300的朋友,运行生化危机5会出现无声音的情况. 坊间的解决办法是把现有的驱动降级到1550的驱动,但未必可以降级成功. 现在可以使用以下两种解决方案: 1. 下载 ...
- 美观实用 最新《生化危机》主题人体工学游戏椅公开
卡普空官方周边日前推新,来自<生化危机>主题人体工学游戏椅公开,与著名游戏椅子品牌<COUGAR>合作打造,美观实用兼具,预定8月31日发售,敬请期待. ·作为日常久坐的游戏玩 ...
- 生化危机5 / BIOHAZARD5 简直就是一款完美的印钞机?(+2009.4.9)
生化危机5已经发布已经有一周了,朋友很多都已经通关了吧. 单纯的看生化危机5的确是一个部精彩的游戏. 从那精美绝伦的画面,跌宕潜伏的好莱坞式的编剧,双人协同作战,还有Jill的悬念... 从每个方面看 ...
- linux游戏模拟器知乎,疯狂周三:異議あり!+TGS参展阵容:卡普空生化危机8,光荣真三新作_STEAM每日资讯_瞅啥网...
逆转裁判 在其他地方如:QQ看点.搜狐微信公众号等看到本篇文章的读者们,本文首发于微信公众号STEAM每日资讯,觉得文章写的还不错的话欢迎关注!公众号每日更新,内容均为原创!ps:小黑盒.知乎和B站均 ...
最新文章
- Android 在menu中同时显示Icon和Text
- python中__str__与__repr__
- ModuleNotFoundError: No module named ‘config‘
- python内置函数源码_python如何查看内置函数源码
- Linux疑难杂症解决方案100篇(六)-SHELL编程条件判断和流程控制
- 数据库篇之[bsp_orders]数据表-BrnShop1.9升级至2.1升级说明(非官方版本)
- 液压与气压传动(机电)_简要问答_复习笔记
- 移动安全-Android安全测试框架Drozer
- THINKPAD T14 Windows 10系统安装
- HTML5 聚光灯特效
- python爬虫手机验证码登录_python爬虫解决手机验证码问题
- 【JokerのZYNQ7020】UART。
- 微信缓存导致调整内容不生效
- 用JSSE定制SSL连接
- bundle包是什么意思_【Xcode小技巧】生成Bundle包
- js转换时间戳一直转换成1970的解决方法
- 汇编语言 -- 计时器/倒计时
- (2019最新)云端批量群控智能管理系统
- 利用Python定时让微信发送信息
- routeDone with a webviewId 6 that is not the current page(env: Windows,mp,1.06.2209190; lib: 2.28.1)