题意:输入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. eth

    今天说下Centos的eth0:0这个虚拟端口,应为学到ifcofig eth0:0 IP,可以给一个网卡设置俩个IP地址,但是只是临时设置,然而我想永久设置,所以就在网找,最终找到的方法是 可以先复 ...

  2. Ugly Number leetcode java

    问题描述: Write a program to check whether a given number is an ugly number. Ugly numbers are positive n ...

  3. React文档(七)处理事件

    React元素处理事件和DOM元素处理事件很类似.下面是一些语法的不同之处: React事件的命名是用驼峰命名,而不是小写字母. 利用JSX你传递一个函数作为事件处理器,而不是一个字符串. 举个例子, ...

  4. python--django-admin定制页面流程:

    django-admin定制页面流程: 1.自定义一个类:要继承 ModelAdmin class Cool(admin.ModelAdmin):    pass    2. 在注册时,表名后加 自定 ...

  5. pycharm下打开、执行并调试scrapy爬虫程序

    首先得有一个Scrapy项目,我在Desktop上新建一个Scrapy的项目叫test,在Desktop目录打开命令行,键入命令:scrapy startproject test1  目录结构如下: ...

  6. 用vue构建多页面应用

    最近一直在研究使用vue做出来一些东西,但都是SPA的单页面应用,但实际工作中,单页面并不一定符合业务需求,所以这篇我就来说说怎么开发多页面的Vue应用,以及在这个过程会遇到的问题. 准备工作 在本地 ...

  7. 一、I/O操作(File文件对象)

    一.File类 Java里,文件和文件夹都是用File代表 1.使用绝对路径或者相对路径创建File对象 使用绝对路径或者相对路径创建File对象 package File; import java. ...

  8. #pragma 处理警告 clang diagnostic 的使用

    首先#pragma在本质上是声明,常用的功能就是注释,尤其是给Code分段注释:而且它还有另一个强大的功能是处理编译器警告,但却没有上一个功能用的那么多. clang diagnostic 是#pra ...

  9. python3- __slots__

    Python允许在定义class的时候,定义一个特殊的__slots__变量,来限制该class实例能添加的属性: class Student(object): __slots__ = ('name' ...

  10. Swagger 路径过滤 -PreSerializeFilters

    Swagger 默认显示所有api, 如果要做路径过滤,可以这样做. //过滤,只显示部分api app.UseSwagger(c=> { c.PreSerializeFilters.Add(( ...