Codeforces Round #236 (Div. 2) C. Searching for Graph(水构造)

 

题目大意

 

咱们说一个无向图是 p-interesting 当且仅当这个无向图知足以下条件:ios

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

2. 该图没有自环和重边spa

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

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

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

 

作法分析

 

很久没有作题了,刷刷水题练练手get

 

第一感受:乱搞,后来想了会儿,仍是乱搞string

构造方法:io

先将全部的点连成一个环,若是边数不够,就将间隔为 1 个点的两个点对之间创建一条边,若是还不够,就将间隔为 2 个点的两点对之间创建一条边,而后是间隔为 3 的,直到边的数量到达 2 * n + p 为止event

 

参考代码

 

 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\n", 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

相关文章
相关标签/搜索