筑波大学プログラミングコンテスト2025
コンテスト日時
2025/11/16 (Su) 13:15 - 16:45

B - 3rd Contest

Assam
2
s
1024
MB
200

問題文

ITF.PC は今年で $3$ 年目です!

全ての頂点の次数が $3$ であるような $N$ 頂点の単純連結無向グラフが存在するか判定し、存在するならばそのうちの $1$ つを示してください。

単純連結無向グラフとは 単純連結無向グラフとは、自己ループや多重辺を含まず、辺に向きの無い連結なグラフのことをいいます。

制約

  • 入力は全て整数
  • $3≤N≤3\times10^5$

入力

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

$N$

出力

条件を満たすグラフが存在する場合

条件を満たすグラフが、頂点 $1$ , 頂点 $2$ , ... , 頂点 $N$ および辺 $1$ , 辺 $2$ , ... , 辺 $M$ からなり、辺 $i(1≤i≤M)$ が頂点 $u_i$ と頂点 $v_i$ を双方向に結ぶとする。このとき、以下のように $M+1$ 行出力せよ。

$M$
$u_1 \quad v_1$
$u_2 \quad v_2$
$\vdots$
$u_M \quad v_M$

なお、出力は次の制約を満たしている必要がある。

  • $0≤M$
  • $1≤u_i,v_i≤N(1≤i≤M)$
  • グラフは連結である。
  • グラフは単純である。すなわち、自己ループや多重辺が存在しない。
  • グラフの頂点は、全て次数が $3$ である。

上記の条件を満たすグラフなら、どれを出力しても正解として扱われる。

条件を満たすグラフが存在しない場合

-1 を $1$ 行に出力せよ。

入力例 1
6
出力例 1
9 1 2 1 3 1 4 2 5 2 6 3 5 3 6 4 5 4 6

例えば、以下のようなグラフが条件を満たします。

設問の条件を満たすグラフであれば、どれを出力しても正解として扱われます。

入力例 2
11
出力例 2
-1

設問の条件を満たすような、頂点数 $11$ のグラフは存在しません。

提出
C++23 (g++ 12.2.0)