题意:输入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. Android的组件化和模块化

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

  2. android -------- 打开本地浏览器或指定浏览器加载,打电话,打开第三方app

    开发中常常有打开本地浏览器加载url或者指定浏览器加载, 还有打开第三方app, 如 打开高德地图 百度地图等 在Android程序中我们可以通过发送隐式Intent来启动系统默认的浏览器. 如果手机 ...

  3. IntelliJ IDEA 安装 Scala 插件

    本页面中对在 IntelliJ 中安装 Scala 插件的步骤和方法进行了描述. 需要在 IntelliJ  安装 Scala 插件,你首先需要在你的计算机中安装 IntelliJ .IntelliJ ...

  4. 启动mysql5.7异常The server quit without updating PID file [FAILED]sql/data/***.pi根本解决方案

    异常表现 mysql5.7启动时报错 Starting MySQL...The server quit without updating PID file [FAILED]sql/data/insta ...

  5. pytorch构建自己设计的层

    下面是如何自己构建一个层,分为包含自动反向求导和手动反向求导两种方式,后面会分别构建网络,对比一下结果对不对. -------------------------------------------- ...

  6. Centos7 下coreseek的安装

    Coreseek介绍: Sphinx默认不支持中文索引及检索,基于Sphinx开发了Coreseek 全文检索服务器,Coreseek应该是现在用的最多的Sphinx中文全文检索,它提供了为Sphin ...

  7. ImportError: sys.meta_path is None, Python is likely shutting down

    python执行过错中,报错:ImportError: sys.meta_path is None, Python is likely shutting down 解决方法:在C:\Users\Adm ...

  8. Coprime Arrays CodeForces - 915G (数论水题)

    反演一下可以得到$b_i=\sum\limits_{d=1}^i{\mu(i)(\lfloor \frac{i}{d} \rfloor})^n$ 整除分块的话会T, 可以维护一个差分, 优化到$O(n ...

  9. 【PowerDesigner】【8】把Comment复制到name中和把name复制到Comment

    原因:这两个字段的值很多时候其实是一样的,重写很麻烦 步骤:打开菜单Tools>Execute Commands>Edit/Run Script.. 或者用快捷键 Ctrl+Shift+X ...

  10. MSMQ 概述

    MSMQ 概述 1) MSMQ概述 MSMQ 表示微软消息队列服务.MSMQ 可以工作在在线或者离线场景,并提供异步编程功能.如果客户端离线,MSMQ将会是最合适的方法,这是因为服务端不需要等待客户端 ...