题意:输入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. 五中常见的PHP设计模式

    策略模式 策略模式是对象的行为模式,用意是对一组算法的封装.动态的选择需要的算法并使用. 策略模式指的是程序中涉及决策控制的一种模式.策略模式功能非常强大,因为这个设计模式本身的核心思想就是面向对象编 ...

  2. STLC - 软件测试生命周期

    什么是软件测试生命周期(STLC)? 软件测试生命周期(STLC)定义为执行软件测试的一系列活动. 它包含一系列在方法上进行的活动,以帮助认证您的软件产品. 图 - 软件测试生命周期的不同阶段 每个阶 ...

  3. Spring boot(三)在Spring boot中Redis的使用

    spring boot对常用的数据库支持外,对nosql 数据库也进行了封装自动化. redis介绍 Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结 ...

  4. 6月13 ThinkPHP框架基础

    ThinkPHP 一.php框架基础介绍 真实项目开发步骤: 多人同时开发项目,协作开发项目.分工合理.效率有提高(代码风格不一样.分工不好) 测试阶段 上线运行 对项目进行维护.修改.升级(单个人维 ...

  5. 【PowerDesigner】【3】字段添加注释和默认值

    问题:最开始生成的Table,表头有些字段没有 解决方案: 1,打开表(双击左键),点击下图圈起来的图标 2,找到comment(注释),勾选 3,找到default value(默认值),勾选 4, ...

  6. springboot项目线程使用

    下面是一个demo: public class TestThread { private static int nThreads =Runtime.getRuntime().availableProc ...

  7. 搭建RESTful API 之 实现WSGI服务的URL映射

    javarestfull 搭建参考 http://blog.csdn.net/hejias/article/details/47424511 问题引出:对于一个稍具规模的网站来说,实现的功能不可能通过 ...

  8. 提高Bash使用效率的方法

    环境:centos6.5 1.移动 Ctrl + a :移到命令行首Ctrl + e :移到命令行尾 Ctrl + xx:在命令行首和光标之间移动 左右键移动字符 Ctrl+左右键移动单词(不记快捷键 ...

  9. tp5消息队列使用

    composer 安装 扩展包 composer require topthink/think-queue 注意版本:默认安装5.1的扩展包 地址: https://packagist.org/pac ...

  10. PHP指针相关函数

    1.each each — 返回数组中当前的键/值对并将数组指针向前移动一步 $arr = array("one", "two", "three&qu ...