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

本文介绍了一个构造特定图的算法问题,目标是创建一个含有2n+p条边的图,确保任意含k个节点的子图最多包含2*k+p条边。通过让每个节点与其他所有节点相连(除自身外),且不形成重复边来实现这一目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

题目地址

 1 /*
 2     题意:要你构造一个有2n+p条边的图,使得,每一个含k个结点子图中,最多有2*k+p条边
 3     水得可以啊,每个点向另外的点连通,只要不和自己连,不重边就可以,正好2*n+p就结束:)    
 4 */
 5 #include <cstdio>
 6 #include <iostream>
 7 #include <algorithm>
 8 #include <cstring>
 9 #include <string>
10 #include <map>
11 #include <cmath>
12 using namespace std;
13 
14 int main(void)        //Codeforces Round #236 (Div. 2) C. Searching for Graph
15 {
16     //freopen ("B.in", "r", stdin);
17 
18     int t;
19     scanf ("%d", &t);
20     while (t--)
21     {
22         int n, p;
23         scanf ("%d%d", &n, &p);
24 
25         int cnt = 0, i = 1, j = 2;
26         while (cnt < 2 * n + p)
27         {
28             printf ("%d %d\n", i, j);
29             j++;    cnt++;
30             if (j == n + 1)    j = ++i + 1;
31         }
32     }
33 
34     return 0;
35 }

 

转载于:https://www.cnblogs.com/Running-Time/p/4402284.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值