题意:输入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的更多相关文章

随机推荐

  1. (GoRails) 使用ActiveStorage给user添加上传头像功能。

    对activestorage的简单使用: 头像库:uifaces.co. 可以使用大量设置好的头像图片. 1.安装avatar rails active_storage:install 2.user ...

  2. Android的组件化和模块化

    Android随着业务的增多,而且后续新的需求的增加,代码的修改会变得非常频繁 然后最近在看组件化和模块化 公司的业务没有那么大,所以这种方式我并没有采取 但是还是需要了解下他的使用机制 还有优缺点之 ...

  3. vue.js手机号验证是否正确

    {literal}          var mobile_mode=/^1[34578]\d{9}$/;       {/literal}       if(!mobile_mode.test(te ...

  4. locust 学习中

    [转自]http://blog.51cto.com/youerning/2089930 前言 都说haproxy很牛x, 可是测试的结果实在是不算满意, 越测试越失望,无论是长连接还是并发, 但是测试 ...

  5. Fragment的onCreateView和onActivityCreate之间的区别(转)

    看了有关这个问题的几篇博文,几乎都是引用了stackoverflow上的一个回答: 问题: I know that a fragment’s view hierarchy has to be infl ...

  6. hdu-6437-最大费用流

    Problem L.Videos Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 524288/524288 K (Java/Other ...

  7. python low版线程池

    1.low版线程池设计思路:运用队列queue 将线程类名放入队列中,执行一个就拿一个出来import queueimport threading class ThreadPool(object): ...

  8. [luogu P3216] [HNOI2011]数学作业

    [luogu P3216] [HNOI2011]数学作业 题目描述 小 C 数学成绩优异,于是老师给小 C 留了一道非常难的数学作业题: 给定正整数 N 和 M,要求计算 Concatenate (1 ...

  9. java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0).

    java.sql.SQLException: Parameter index out of range (1 > number of parameters, which is 0). at co ...

  10. linux过滤旧文件中的空行和注释行剩余内容组成新文件

    一.说明 在某些场景下我们想要将旧文件中空行和注释行过滤掉,将产生实际效果的行保留. 比如redis提供的配置示例文件中有很多用于说明的空行和注释行,我们想把产生实际效果的配置行筛选出来组成新的简洁的 ...