CF41E 3-cycles 题解

23 年 8 月 30 日 星期三
232 字
2 分钟

大致题意

求结点数为 nn 并且任意取三结点均为连通图但不是环的无向图的最大边数 mm,并输出任意一种可能。

思路/解析

这是一道抽屉原理的题。我们只需要 22 个抽屉就可以保证任意取 33 个点不可能形成环,因为至少有一个抽屉存在 22 个及以上的点。但是如果将抽屉的数量增加到 33 个,那么就有可能存在没个抽屉 11 个点的情况,这样就有可能存在环。因此,我们只需要 22 个抽屉,并保证同一抽屉内的点不连边,不同抽屉的点连边即可。

对于答案数量,我们只需要平均分成两组就好了。注意当 nn 为奇数时需要加 11

代码

cpp
#include<bits/stdc++.h>
using namespace std;
int n,m,i,j;
int main(){
	cin>>n;
	if(n%2==1)m=(n/2)*(n/2+1);
	else m=(n/2)*(n/2);
	cout<<m<<'\n';
	for(i=1;i<=n/2;i++)
		for(j=n/2+1;j<=n;j++)
			cout<<i<<' '<<j<<'\n';
}

文章标题:CF41E 3-cycles 题解

文章作者:Walter_Fang

文章链接:https://blog.walterfang.us.kg/posts/solution-cf41e[复制]

最后修改时间:


商业转载请联系站长获得授权,非商业转载请注明本文出处及文章链接,您可以自由地在任何媒体以任何形式复制和分发作品,也可以修改和创作,但是分发衍生作品时必须采用相同的许可协议。
本文采用CC BY-NC-SA 4.0进行许可。