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的更多相关文章
随机推荐
- java.lang.NoClassDefFoundError: org/springframework/web/context/WebApplicationContext
一.NoClassDefFoundError与ClassNotFoundException NoClassDefFoundError错误的发生,是因为Java虚拟机在编译时能找到合适的类,而在运行时不 ...
- 关于ActionBar 左侧添加完返回后 点击无效的问题
ActionBar actionBar =getSupportActionBar(); if(actionBar!=null){ actionBar.setHomeAsUpIndicator(R.mi ...
- selenium 定时任务
- 『TensorFlow』SSD源码学习_其六:标签整理
Fork版本项目地址:SSD 一.输入标签生成 在数据预处理之后,图片.类别.真实框格式较为原始,不能够直接作为损失函数的输入标签(ssd向前网络只需要图像就行,这里的处理主要需要满足loss的计算) ...
- html5 meta标签的认知储备
在开发移动或者PC端的时候除了'<meta charset="UTF-8">'这个设置编码格式的meta标签,还有一些其他方面的设置 一.<meta name=& ...
- oracle 自动备份
此次操作是每分钟备份一张表到新表(测试) 准备: 有一张表name是test 注意事项: 1.任务中调用需要显示声明权限 AUTHID CURRENT_USER 或赋予相应权限 2.单独调用过程成功, ...
- IQueryable 与 IEnumberable 接口的区别
IQueryable 与 IEnumberable 接口的区别是: IEnumberable<T> 泛型类在调用自己的 SKip 和 Take 等扩展方法之前数据就已经加载在本地内存里了, ...
- InnoDB存储引擎介绍-(3)InnoDB缓冲池配置详解
原文链接 http://www.ywnds.com/?p=9886 一.InnoDB缓冲池 InnoDB维护一个称为缓冲池的内存存储区域 ,用于缓存内存中的数据和索引.了解InnoDB缓冲池的工作原 ...
- KM算法详解[转]
KM算法详解 原帖链接:http://www.cnblogs.com/zpfbuaa/p/7218607.html#_label0 阅读目录 二分图博客推荐 匈牙利算法步骤 匈牙利算法博客推荐 KM算 ...
- 【转】给DataTable和DataRow扩展方法,直接转换为对象集合或对象
/// <summary> /// 类 说 明:给DataTable和DataRow扩展方法,直接转换为对象集合或对象 /// 补充说明:此扩展类可以极大的简化操作,但是性能低下,大数据以 ...