一个简单的构造题,首先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;
}