CodeForces 22C System Administrator

来源:互联网 发布:60级魔兽世界数据库 编辑:程序博客网 时间:2024/05/21 21:47

把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;}


0 0
原创粉丝点击