zoukankan      html  css  js  c++  java
  • Codeforces Round #236 (Div. 2) C. Searching for Graph(水构造)

     

    题目大意

     

    我们说一个无向图是 p-interesting 当且仅当这个无向图满足如下条件:

    1. 该图恰有 2 * n + p 条边

    2. 该图没有自环和重边

    3. 该图的任意一个包含 k 个节点的子图含有不超过 2 * k + p 条边

    现在,请你找出一个 p-interesting 包含 n 个节点的无向图,输出他的 2 * n + p 条边

    数据范围:5 ≤ n ≤ 24,0 ≤ p, 2 * n + p ≤ (n) * (n + 1) / 2

     

    做法分析

     

    好久没有做题了,刷刷水题练练手

    第一感觉:乱搞,后来想了会儿,还是乱搞

    构造方法:

    先将所有的点连成一个环,如果边数不够,就将间隔为 1 个点的两个点对之间建立一条边,如果还不够,就将间隔为 2 个点的两点对之间建立一条边,然后是间隔为 3 的,直到边的数量到达 2 * n + p 为止

     

    参考代码

     1 #include <iostream>
     2 #include <cstring>
     3 #include <cstdio>
     4 
     5 using namespace std;
     6 
     7 int t, n, k;
     8 
     9 void deal() {
    10     for (int step = 1, cnt = 0; cnt < 2 * n + k; step ++) {
    11         for (int i = 1; i <= n && cnt < 2 * n + k; i ++, cnt ++) {
    12             int a = i, b = i + step;
    13             if (b > n) b -= n;
    14             printf("%d %d
    ", a, b);
    15         }
    16     }
    17 }
    18 
    19 int main() {
    20     scanf("%d", &t);
    21     for (int ca = 1; ca <= t; ca ++) {
    22         scanf("%d%d", &n, &k);
    23         deal();
    24     }
    25     return 0;
    26 }
    C. Searching for Graph

    题目链接

    C. Searching for Graph

  • 相关阅读:
    mongoDB
    昆仑会员此打印方式只针对用会员卡结账的消费,放开限制解决方案
    用jdk1.6的pack200和unpack200,对jar文件进行压缩和解压 .pack.gz
    ffmpeg
    关于golang-mod的使用方法
    组件&Props
    元素渲染
    JSX 简介
    React-HelloWorld
    Vue与REACT两个框架的区别和优势对比
  • 原文地址:https://www.cnblogs.com/zhj5chengfeng/p/3614537.html
Copyright © 2011-2022 走看看