生化危机
发布时间: 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 生化危机相关推荐

  1. qduoj 生化危机ycb老师的电脑中毒了(邻接表)

    题目链接:https://qduoj.com/problem/22/点击打开链接 生化危机 发布时间: 2015年10月10日 18:05   时间限制: 1000ms   内存限制: 256M 描述 ...

  2. QDUOJ 生化危机 邻接表存图+BFS

    生化危机 发布时间: 2015年10月10日 18:05   时间限制: 1000ms   内存限制: 256M 描述 X博士想造福人类, 研发一种可以再生肢体的药物, 可是很不幸......研究失败 ...

  3. lego-loam数据_使用lego minifigures数据集在fastai中对datablocks api图像进行分类

    lego-loam数据 The topics covered in this post are as follows 这篇文章涵盖的主题如下 Introduction 介绍 The Task 任务 T ...

  4. python画七边形的角度_python之turtle模块-生化危机

    相信很多人都看过<生化危机>,对里面的太阳伞公司应该都不陌生.太阳伞公司的图标如下. 今天我们就用python的turtle模块来画这样一把太阳伞. 思路如下: 1. 太阳伞可以近似的看成 ...

  5. 无路可逃java攻略_生化危机2重制版无路可逃怎么过_100丧尸模式幽灵生还者无路可逃流程攻略_3DM单机...

    <生化危机2:重制版>的幽灵生还者DLC中,当玩家通关了前面的三章之后就能解锁第四章--无路可逃,这个关卡需要解决100个丧尸,难度十分之高,下面小编就为大家带来一篇"lu_mk ...

  6. 使用VIA声卡 运行生化危机5无声音的解决方案 无需卸载旧驱动

    使用VIA声卡且驱动版本号是7300的朋友,运行生化危机5会出现无声音的情况.   坊间的解决办法是把现有的驱动降级到1550的驱动,但未必可以降级成功. 现在可以使用以下两种解决方案: 1. 下载 ...

  7. 美观实用 最新《生化危机》主题人体工学游戏椅公开

    卡普空官方周边日前推新,来自<生化危机>主题人体工学游戏椅公开,与著名游戏椅子品牌<COUGAR>合作打造,美观实用兼具,预定8月31日发售,敬请期待. ·作为日常久坐的游戏玩 ...

  8. 生化危机5 / BIOHAZARD5 简直就是一款完美的印钞机?(+2009.4.9)

    生化危机5已经发布已经有一周了,朋友很多都已经通关了吧. 单纯的看生化危机5的确是一个部精彩的游戏. 从那精美绝伦的画面,跌宕潜伏的好莱坞式的编剧,双人协同作战,还有Jill的悬念... 从每个方面看 ...

  9. linux游戏模拟器知乎,疯狂周三:異議あり!+TGS参展阵容:卡普空生化危机8,光荣真三新作_STEAM每日资讯_瞅啥网...

    逆转裁判 在其他地方如:QQ看点.搜狐微信公众号等看到本篇文章的读者们,本文首发于微信公众号STEAM每日资讯,觉得文章写的还不错的话欢迎关注!公众号每日更新,内容均为原创!ps:小黑盒.知乎和B站均 ...

最新文章

  1. 泉州中考分数如何计算机,2019年泉州中考总分多少分,泉州中考各个科目多少分...
  2. golang go-sql-driver 数据库报错 bad connection
  3. jQeury的日期时分秒生成器插件,使用jQuery的匿名函数,静态方法的使用
  4. 12 - Runtime实用的几个API
  5. Redis学习总结(22)——Redis的主从复制是如何做的?复制过程中也会产生各种问题?
  6. HtmlNinja-图片预加载以及图片元素img的complete属性
  7. P1551 亲戚题解
  8. Jenkins 内部服务器遭访问且被部署密币挖机
  9. java linux ping ip,java linux ping命令
  10. python和前端(三)JS的激情
  11. (KNN)K-近邻算法介绍和 Facebook签到位置预测案例应用
  12. 计算机应用能力考试ppt,全国专业技术人员计算机应用能力考试 PPT 2003 题库版...
  13. 十本书,谁猜得出第一是什么名字
  14. 从病毒开始聊聊那些windows下大杂烩
  15. uniapp小程序开发设置系统状态栏高度、全屏背景图设置
  16. 计算机桌面键盘快速启动,效率神器!1秒打开电脑任何软件,推荐2款强大的快速启动器...
  17. unity 陶瓷质感_一种基于Unity3D的虚拟陶瓷设计方法与流程
  18. 从趋势、风格和文案三方面,分析短视频封面这样设计更吸引人。
  19. SWFObject 2.0的使用说明
  20. WPS计算机一级考试知识点,计算机一级考试WPS练习题及答案

热门文章

  1. The error occurred while setting parameters,Communications The error may involve defaultParameterMap
  2. SQL难学吗,有什么好的学习建议?(转载)
  3. pycharm使用了ctrl+鼠标回到原来的地方方法
  4. Excel双条件交叉查询
  5. 基于Java实现的武汉地铁模拟系统
  6. 揭秘网络黑产链:为何普通黑客能月入 8 万美元?
  7. 为什么有的已备案域名的备案会被注销?
  8. 大数据平台数据治理体系建设和管理方案
  9. 养猫日记-20200411
  10. 九联unt401h装软件_九联UNT401H南传刷机包 V1.0 免费版