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

京公网安备 11010502036488号