codeforces959C
题意:输入n(代表有n个节点),找出满足题意给出的找出最小节点数(对于给出的所有边,在这个最小节点数集合里总可以找到一个点在此边上)。
给出算法:
1:根节点节点数为1;
2:计算所有深度为偶数的节点总数为evencnt;
3:计算所有深度为奇数的节点总数为oddcnt;
4:最小节点数=min(evencnt,oddcnt);
根据题目给出的提示我们可以推出算法成立的模板和不成立的模板,具体请看代码
代码:
#include<stdio.h>
//找出只要两个节点的情况,然后在这基础上加上和1的连线,保持偶数深度数为3个,奇数节点数大于等于3的情况(算法出错)
// 1
// / \ \ ....
// 2 5 6 .....
// / \
// 3 4
//
// 只有一个节点的情况,偶数深度数等于1,奇数深度数大于等于1(算法成立)
// 1
// / / / \ \ \.......
// 2 3 4 5 6 7.......
int main()
{
int n;
scanf("%d",&n);//根节点也是一个偶数的深度
int i,j;
if(n==2)
{
printf("-1\n");
printf("1 2\n");
}
else
{
if(n==3||n==4||n==5)//当n=3,4,5时算法始终成立
printf("-1\n");
else
printf("1 2\n2 3\n2 4\n1 5\n");//先建立模板式
for(i=6;i<=n;i++)//增加于1的连线(相当于增加奇数深度数)
printf("1 %d\n",i);
for(i=2;i<=n;i++)//按照算法成立建立模板
printf("1 %d\n",i);
}
return 0;
}
codeforces959C的更多相关文章
随机推荐
- (转)python 全栈开发,Day74(基于双下划线的跨表查询,聚合查询,分组查询,F查询,Q查询)
昨日内容回顾 # 一对多的添加方式1(推荐) # book=Book.objects.create(title="水浒传",price=100,pub_date="164 ...
- calc_load
http://www.penglixun.com/tech/system/how_to_calc_load_cpu.html #define FSHIFT 11 /* nr of bits of pr ...
- NYOJ - 整数划分(四)
题目链接:http://acm.nyist.net/JudgeOnline/problem.php?pid=746 要求对一个n的整数插入m个乘号,求最大结果. 构造dp:dp[i][j]表示枚举至j ...
- lanmp环境中创建个软连接
进入default,创建关于框架的链接 然后编辑配置文件 这样就可以在线上访问了.
- A Chess Game POJ - 2425
Let's design a new chess game. There are N positions to hold M chesses in this game. Multiple chesse ...
- CentOS中与网络相关的常用
CentOS中与网络相关的常用配置文件 1. 常见的网络配置文件 /etc/hosts 本地域名解析表,用于解析主机名.对应于win系统中的C:\Windows\System32\ ...
- Beautiful Paintings CodeForces - 651B (贪心)
大意: 给定序列$a$, 可以任意排序, 求最大下标i的个数, 满足$a_i<a_{i+1}$. 这个贪心挺好的, 答案就为n-所有数字出现次数最大值.
- 第二阶段——个人工作总结DAY06
1.昨天做了什么:昨天做完了修改密码的界面.(有点丑) 2.今天打算做什么:今天制作时间轴. 3.遇到的困难:无.
- link标签实现给网页标题前加一个小图标favicon.ico
使用方法如下:1.<link rel="shortcut icon " type="images/x-icon" href="./favicon ...
- 类似“未能加载文件或程序集“tesseractengine3”或它的某一个依赖项”等一些问题的解决方案
有些时候我们引用了一些32位的dll,结果就会出现类似“未能加载文件或程序集“tesseractengine3”或它的某一个依赖项”这样的问题,原因是IIS的应用程序池的设置中默认是不启用32位的应用 ...