【BZOJ5060】魔方国

Description

小奇和魔法猪打开了战狂的遗迹,穿越到了东元20年。东元元年,战狂率领一千万士兵毁灭了一个又一个文明,并建立起了新文明——昌和帝国,招募了八位伟人:大将军、海军上将、大科学家、大预言家、大工程师、大艺术家、大音乐家、大作家。东元15年,伟大的革命领袖方方方召集仅存的几个文明,组成联盟对抗战狂。方方方设计先后杀死了大作家和大艺术家,并重创了战狂。东元20年,方方方率军进攻大将军,大将军花重金(1600奥术之尘)请来了砰砰博士,炸死了方方方。随后,大将军占领了联盟数座城市并包围了联盟首都。这时,小奇和魔法猪从天而降。它们听说了方方方的英勇事迹,十分感动,决定帮助联盟对抗战狂。在接下来一个月的时间里,小奇和魔法猪夺回了n-1座城市。为了纪念方方方,小奇把联盟改名为魔方国,并打算修建m条道路。一条道路必须要连接两个不同的城市(首都也算城市),两个城市之间可以有多条道路。在修建完道路后,小奇会在一些城市中放置魔法守卫。一个魔法守卫会守护它所在的城市以及与从它所在的城市出发,经过不超过k条边所能到达的城市。在守护所有城市的基础上,小奇会使魔法守卫的数量尽可能少。显然,每一种修建道路的方案都会对应一个最少守卫数。现在,小奇想知道最少守卫数可能是多少

Input

输入一行三个数,分别为n,m,k。
n,m<=100000,k<=100

Output

输出两行,第一行一个数表示最少守卫数的数量,第二行从小到大依次输出
所有可能的最少守卫数。

Sample Input

3 2 1

Sample Output

2
1 2

题解:由于可以连重边,所以。。。傻题。

特判:n=1且m>0连不了边;k=0;n<=m;m=0。

#include <cstdio>
int main()
{
int n,m,k,a,b;
scanf("%d%d%d",&n,&m,&k),a=(n<=m)?1:n-m,b=(!m)?n:n-1;
if(n==1&&m) printf("0");
else if(!k) printf("1\n%d",n);
else
{
printf("%d\n",b-a+1);
while(a<b) printf("%d ",a++);
printf("%d",b);
}
return 0;
}

【BZOJ5060】魔方国 特判的更多相关文章

  1. 【bzoj5060】魔方国 乱搞+特判

    题目描述 一张未知的有重边无自环的图,只知道点数为n,边数为m.可以标记若干个点,如果一个点被标记,那么与它距离不超过k的点(包括本身)都会被覆盖. 显然对于每张不同图,让所有点被覆盖的最小代价是不一 ...

  2. 牛客网国庆集训派对Day3题目 2018年

    链接:https://www.nowcoder.com/acm/contest/203/D来源:牛客网 Shopping 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 524288K ...

  3. 2018 Wannafly summer camp Day3--Travel

    Travel 描述 题目描述: 魔方国有n座城市,编号为1~n.城市之间通过n-1条无向道路连接,形成一个树形结构. 澜澜打算在魔方国进行mm次旅游,每次游览至少一座城市.为了方便,每次旅游游览的城市 ...

  4. 牛客国庆集训派对Day_1~3

    Day_1 A.Tobaku Mokushiroku Kaiji 题目描述 Kaiji正在与另外一人玩石头剪刀布.双方各有一些代表石头.剪刀.布的卡牌,每局两人各出一张卡牌,根据卡牌的内容决定这一局的 ...

  5. HDU 5215 BestCoder"杯中国大学生程序设计冠军赛” 边双连通分量取出子图+二分染色判图内奇偶环

    Cycle Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others)Total Sub ...

  6. 2019 蓝桥杯国赛 B 组模拟赛 E 蒜头图 (并查集判环)

    思路: 我们看条件,发现满足条件的子图无非就是一些环构成的图, 因为只有形成环,才满足边的两个点都在子图中,并且子图中节点的度是大于0的偶数. 那么如果当前有k个环,我们可以选2^k-1个子图,为什么 ...

  7. 湘潭邀请赛+蓝桥国赛总结暨ACM退役总结

    湘潭邀请赛已经过去三个星期,蓝桥也在上个星期结束,今天也是时候写一下总结了,这应该也是我的退役总结了~ --------------------------------湘潭邀请赛----------- ...

  8. 解魔方的机器人攻略13 – 安装Lejos(上)

    由 动力老男孩 发表于 2009/12/27 16:58:23 Firmware(固件)相当于是机器人的操作系统,乐高NXT出厂时已经内置了一套Firmware,并且配备了非常强大的LabVIEW开发 ...

  9. BZOJ1972:[SDOI2010]猪国杀

    我对模拟的理解:https://www.cnblogs.com/AKMer/p/9064018.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem ...

随机推荐

  1. Jboss as 服务器基本设置

    http://www.cnblogs.com/lovingprince/archive/2009/09/03/2166307.html Step one: download JBoss Applica ...

  2. iOS 键盘自适应(IQKeyboardManager)使用小结

    IQKeyboardManager Github地址 经常在开发一个应用程序,我们遇到了一个问题,iPhone的键盘上滑覆盖的UITextField / UITextView.IQKeyboardMa ...

  3. HTTP协议,详解

    整合网上各种资料,原创,不懂可以加 QQ:3111901846 一般学习一样新的知识,你首先要问问自己这三个问题,如果学完以后,你能回答出来这几个问题,证明你还是不错的 1.什么是HTTP协议?2.H ...

  4. mongodb - save()和insert()的区别

    遇到_id相同的情况下:insert操作会报错:save完成保存操作 > db.person.find() > db.person.insert({"_id":1,ag ...

  5. android:imeOptions属性

    imeOptions软键盘setOnEditorActionListener  默认情况下软键盘右下角的按钮为“下一个”,点击会到下一个输入框,保持软键盘 设置 android:imeOptions= ...

  6. macbook使用“终端”远程登录linux主机

    登录mac系统后,依次打开顶部菜单,“前往” -> “应用程序” -> “实用工具” -> “终端”,如下图:   在打开的终端页面,输入如下代码: ssh user@hostnam ...

  7. python-创建列表

    创建个空列表 album = [] 创建非空列表 album = ['Black Star','David Bowie',25.True] 向列表中添加新的元素 append 方法,元素自动地排列到列 ...

  8. python学习之find()

    定义: find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1. 语法 ...

  9. Fatal error compiling: 无效的标记: -parameters

    [INFO] BUILD FAILURE [INFO] ------------------------------------------------------------------------ ...

  10. windows下控制台程序更改图标和加载资源文件

    1.在空项目的Resouce FIles中右击创建一个新的.rc文件. 2.选中这个.rc文件右击在界面中选择导入icon 3.选中icon,将icon的ID更改为IDC_MAINFRAME. 4.重 ...