日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【CodeForces - 673D】Bear and Two Paths(构造,tricks)

發(fā)布時間:2023/12/10 编程问答 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【CodeForces - 673D】Bear and Two Paths(构造,tricks) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

題干:

Bearland has?n?cities, numbered?1?through?n. Cities are connected via bidirectional roads. Each road connects two distinct cities. No two roads connect the same pair of cities.

Bear Limak was once in a city?a?and he wanted to go to a city?b. There was no direct connection so he decided to take a long walk, visiting each city?exactly once. Formally:

  • There is no road between?a?and?b.
  • There exists a sequence (path) of?n?distinct cities?v1,?v2,?...,?vn?that?v1?=?a,?vn?=?b?and there is a road between?vi?and?vi?+?1?for?.

On the other day, the similar thing happened. Limak wanted to travel between a city?c?and a city?d. There is no road between them but there exists a sequence of?ndistinct cities?u1,?u2,?...,?un?that?u1?=?c,?un?=?d?and there is a road between?ui?and?ui?+?1?for?.

Also, Limak thinks that there are at most?k?roads in Bearland. He wonders whether he remembers everything correctly.

Given?n,?k?and four distinct cities?a,?b,?c,?d, can you find possible paths?(v1,?...,?vn)?and?(u1,?...,?un)?to satisfy all the given conditions? Find any solution or print?-1?if it's impossible.

Input

The first line of the input contains two integers?n?and?k?(4?≤?n?≤?1000,?n?-?1?≤?k?≤?2n?-?2)?— the number of cities and the maximum allowed number of roads, respectively.

The second line contains four?distinct?integers?a,?b,?c?and?d?(1?≤?a,?b,?c,?d?≤?n).

Output

Print?-1?if it's impossible to satisfy all the given conditions. Otherwise, print two lines with paths descriptions. The first of these two lines should contain?ndistinct integers?v1,?v2,?...,?vn?where?v1?=?a?and?vn?=?b. The second line should contain?n?distinct integers?u1,?u2,?...,?un?where?u1?=?c?and?un?=?d.

Two paths generate at most?2n?-?2?roads:?(v1,?v2),?(v2,?v3),?...,?(vn?-?1,?vn),?(u1,?u2),?(u2,?u3),?...,?(un?-?1,?un). Your answer will be considered wrong if contains more than?kdistinct roads or any other condition breaks. Note that?(x,?y)?and?(y,?x)?are the same road.

Examples

Input

7 11 2 4 7 3

Output

2 7 1 3 6 5 4 7 1 5 4 6 2 3

Input

1000 999 10 20 30 40

Output

-1

Note

In the first sample test, there should be?7?cities and at most?11?roads. The provided sample solution generates?10?roads, as in the drawing. You can also see a simple path of length?n?between?2?and?4, and a path between?7?and?3.

題目大意:

給你一個包含N個點的無向圖,要求我們用小于等于K條邊來構(gòu)造出這個圖。

這個圖有兩對起點和終點:第一對的起點a,終點b。第二對的起點c,終點d;

現(xiàn)在要求構(gòu)造出的圖,a和b之間沒有直接相連的邊,c和d之間沒有直接相連的邊。

但是從a到b有一條路徑,a作為起點,b作為終點,路徑上包含所有點(1.2.3.4.5..............N)。

同理,從c到d也有一條路徑,c作為起點,d作為終點,路徑上也包含所有點。

如果可以構(gòu)造出來,輸出這兩條路徑經(jīng)過的點;反之輸出-1。

解題報告:

? 因為是構(gòu)造題,并且要求能否在K條邊之內(nèi)構(gòu)造出來,所以肯定要構(gòu)造一個最少邊數(shù)的解。首先a為起點b為終點的肯定需要n-1條邊,c到d還需要連邊,所以肯定最少需要n條邊。但是n條邊肯定無法使得ac都可以當(dāng)起點,bd當(dāng)終點。所以需要n+1條邊,發(fā)現(xiàn)可以構(gòu)造,且總可以構(gòu)造,也就是a->c->a->...->b->d->b的一條路徑,即可滿足條件,并且第二個a和b中間必須要有點,這也就要求點數(shù)必須>5,否則不滿足ab不相鄰的條件,于是這樣構(gòu)造即可。?

AC代碼:

#include<cstdio> #include<iostream> #include<algorithm> #include<queue> #include<stack> #include<map> #include<vector> #include<set> #include<string> #include<cmath> #include<cstring> #define FF first #define SS second #define ll long long #define pb push_back #define pm make_pair using namespace std; typedef pair<int,int> PII; const int MAX = 2e5 + 5; int n,k,a,b,c,d; int main() {cin>>n>>k;cin>>a>>b>>c>>d;if(k < n+1 || n == 4) {printf("-1\n");return 0;} 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 ; }

?

總結(jié)

以上是生活随笔為你收集整理的【CodeForces - 673D】Bear and Two Paths(构造,tricks)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。