一个简单的构造题,首先4个点是构造不出来的,5个点必需是a,c连边,b,d连边,中间一条链即可,最少需要n+1条边...这题就结束了2333
#include <bits/stdc++.h> using namespace std; int main() { int n,m; scanf("%d%d",&n,&m); int a,b,c,d; scanf("%d%d%d%d",&a,&b,&c,&d); if(m<n+1||n==4) puts("-1"); else { printf("%d %d ",a,c); for(int i=1;i<=n;i++) { if(i==a||i==b||i==c||i==d) continue; printf("%d ",i); } printf("%d %d\n",d,b); printf("%d %d ",c,a); for(int i=1;i<=n;i++) { if(i==a||i==b||i==c||i==d) continue; printf("%d ",i); } printf("%d %d\n",b,d); } return 0; }