http://codeforces.com/contest/402/problem/C
给出n和p,输出一个含n个节点的无向图满足:
该图有2*n+p条边;
该图不是自循环图且不含重边;
该图的任何一个子图(k个顶点)最多2*k+p条边;
好不科学的一道题。看了看样例,觉得并没有像上面说的那么繁琐。直接按样例敲,竟然过了,CF真心灵活。。。
#include <stdio.h>
#include <string.h>
int main()
{
int test;
scanf("%d",&test);
while(test--)
{
int n,p;
scanf("%d %d",&n,&p);
int e = n*2+p;
for(int i = 1; i <= n-1 && e; i++)
{
for(int j = i+1; j <= n && e; j++)
{
printf("%d %d\n",i,j);
e--;
}
}
}
return 0;
}