题目链接
让v和所有的点相连(n-1条边)
割点v连的某个点r,去掉割点v后,剩下n-1个点,其中除了r之外的n-2个点互连(最多(n-2)(n-3)/2条边),
那么这n-2个点都不与r相连,只有v和r相连,所以去掉v后,剩下的n-1个点不连通,构造完成~
#includeusing namespace std; typedef long long ll; int main(){ int n,m,v; scanf("%d%d%d",&n,&m,&v); ll c=(n-2)*(n-3)/2+n-1; int r=n; if(v==n) r=1; if(m c){ puts("-1"); }else{ for(int i=1;i<=n;++i){ if(i==v) continue; printf("%d %dn",i,v); //v连接了关键点r }//n-1 //剩下的n-1个点 不再连r int cnt=n-1; for(int i=1;i<=n&&cnt



