codeforces#236_div2_C Searching for Graph
题目地址:cf#236_div2_C
题目意思:
给你n,p
要你构造一个有2n+p条边的图,使得,每一个含k个结点子图中,最多有2*k+p条边。
额,比赛的时候根据样例yy的
代码:
#include<iostream> #include<vector> using namespace std; struct node { int a; int b; }; vector<node> v; int main() { int cas; cin>>cas; int n,p; while(cas--) { v.clear(); cin>>n>>p; for(int i=0;i<n;i++) for(int j=i+1;j<n;j++) { node nod; nod.a=i; nod.b=j; v.push_back(nod); } for(int i=0;i<2*n+p;i++) { cout<<v[i].a+1<<' '<<v[i].b+1<<endl; } } }
关于证明这个构造就能满足,想好了以后更新文章。
posted on 2014-03-17 03:00 814jingqi的ACM 阅读(95) 评论(0) 编辑 收藏 举报