标签:codeforces 构造
题目大意:给定
逗B题……
我们只需要把字典序最小的
下面我们来证明这么做是对的
首先这个条件等价于【删掉任意
然后我们来看这样一个图:
显然这个图是我们构造的图的子图
下面我们来证明这个性质
假如我们删掉了
如果删掉的
否则:
如果我们在中间的列删掉了不超过
如果我们在中间的列删掉了至少
点数不超过
证毕
#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
using namespace std;
int n,m,p;
void Solve()
{
int i,j,cnt=0;
cin>>n>>p;m=n+n+p;
for(i=1;i<=n;i++)
for(j=i+1;j<=n;j++)
{
printf("%d %d\n",i,j);
if(++cnt==m)
return ;
}
}
int main()
{
int T;
for(cin>>T;T;T--)
Solve();
return 0;
}
codeforces #402C Searching for Graph 构造
标签:codeforces 构造
原文地址:http://blog.csdn.net/popoqqq/article/details/45749329