atcoder#ABC260F. [ABC260F] Find 4-cycle

[ABC260F] Find 4-cycle

题目描述

S+T S+T 頂点 M M 辺の単純無向グラフ G G があります。頂点には 1 1 から S+T S+T の番号が、辺には 1 1 から M M の番号が割り振られています。辺 i i は頂点 ui u_i と頂点 vi v_i を結んでいます。
また、頂点集合 V1 = { 1, 2,, S} V_1\ =\ \lbrace\ 1,\ 2,\dots,\ S\rbrace および $ V_2\ =\ \lbrace\ S+1,\ S+2,\ \dots,\ S+T\ \rbrace $ はともに独立集合です。

長さ 4 4 のサイクルを 4-cycle と呼びます。
G G が 4-cycle を含む場合、4-cycle をどれか 1 つ選び、選んだサイクルに含まれる頂点を出力してください。頂点を出力する順番は自由です。
G G が 4-cycle を含まない場合、 -1 を出力してください。

独立集合とは? グラフ G G の独立集合とは、G G に含まれるいくつかの頂点からなる集合 V V' であって、V V' に含まれる任意の 2 2 つの頂点の間に辺がないものを言います。

输入格式

入力は以下の形式で標準入力から与えられる。

S S T T M M u1 u_1 v1 v_1 u2 u_2 v2 v_2 \vdots uM u_M vM v_M

输出格式

G G が 4-cycle を含む場合は、任意の 4-cycle を 1 つ選び、選んだサイクルに含まれている相異なる 4 4 個の頂点の番号を出力せよ。(頂点の順番は問わない。)
G G が 4-cycle を含まない場合は -1 を出力せよ。

题目大意

给定一个二分图,其左部点的个数为 SS,右部点的个数为 TT,边数为 MM,请找出一个四元环,任意顺序输出这 44 个节点,如果不存在则输出 1-1

2 3 5
1 3
1 4
1 5
2 4
2 5
1 2 4 5
3 2 4
1 4
1 5
2 5
3 5
-1
4 5 9
3 5
1 8
3 7
1 9
4 6
2 7
4 8
1 7
2 9
1 7 2 9

提示

制約

  • 2  S  3 × 105 2\ \leq\ S\ \leq\ 3\ \times\ 10^5
  • 2  T  3000 2\ \leq\ T\ \leq\ 3000
  • $ 4\ \leq\ M\ \leq\ \min(S\ \times\ T,3\ \times\ 10^5) $
  • 1  ui  S 1\ \leq\ u_i\ \leq\ S
  • S + 1  vi  S + T S\ +\ 1\ \leq\ v_i\ \leq\ S\ +\ T
  • i  j i\ \neq\ j ならば (ui, vi)  (uj, vj) (u_i,\ v_i)\ \neq\ (u_j,\ v_j)
  • 入力される値はすべて整数

Sample Explanation 1

頂点 1 1 4 4 4 4 2 2 2 2 5 5 5 5 1 1 の間に辺があるので 頂点 1,2,4,5 1,2,4,5 は 4-cycle をなします。よって 1, 2, 4, 5 1,\ 2,\ 4,\ 5 を出力すればよいです。 頂点を出力する順番は自由で、出力例のほかにも例えば 2 5 1 4 のような出力も正答となります。

Sample Explanation 2

G G が 4-cycle を含まない入力もあります。