本文主要是介绍CodeForces 22C System Administrator,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
把v和2结点交换,
1和v连,其他点和v之间可以互相连。
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <string>
#include <cstdio>
#include <cmath>
#include <algorithm>
using namespace std;int n,m,v,flag,i,cnt,j;int main()
{while(~scanf("%d%d%d",&n,&m,&v)){flag=0;if((n-1)*(n-2)/2+1<m) flag=1;if(m<n-1) flag=1;if(flag){printf("-1\n");continue;}cnt=n-1;for(i=1;i<n;i++){if(i==2) printf("%d ",v);else if(i==v) printf("%d ",2);else printf("%d ",i);if(i+1==2) printf("%d\n",v);else if(i+1==v) printf("%d\n",2);else printf("%d\n",i+1);}for(i=2;i<n&&cnt!=m;i++){for(j=i+2;j<=n&&cnt!=m;j++){cnt++;if(i==2) printf("%d ",v);else if(i==v) printf("%d ",2);else printf("%d ",i);if(j==2) printf("%d\n",v);else if(j==v) printf("%d\n",2);else printf("%d\n",j);}}}return 0;
}
这篇关于CodeForces 22C System Administrator的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!