atcoder#AGC035C. [AGC035C] Skolem XOR Tree

[AGC035C] Skolem XOR Tree

配点 : 700700

問題文

整数 NN が与えられます。11 から 2N2N までの番号がついた 2N2N 個の頂点を持つ木であって次の条件を満たすものが存在するか判定し、存在するならばその一例を示してください。

  • 11 以上 NN 以下の各整数 ii について、頂点 i,N+ii, N+i の重みが ii であるとする。このとき、11 以上 NN 以下の各整数 ii について、頂点 i,N+ii, N+i 間のパス上にある頂点 (両端を含む) の重みのビットごとの排他的論理和が ii である。

制約

  • 入力は全て整数
  • 1N1051 \leq N \leq 10^{5}

入力

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

NN

出力

問題文中の条件を満たす木が存在するならば Yes を、そうでなければ No を出力せよ。 その後、存在するならば続く 2N12N-1 行にそのような木の 2N12N-1 本の辺を以下の形式で出力せよ。

a1a_{1} b1b_{1}

\vdots

a2N1a_{2N-1} b2N1b_{2N-1}

ここで、各組 (ai,bi)(a_i, b_i) は木に頂点 ai,bia_i, b_i を結ぶ辺が存在することを表す。辺は任意の順で出力して構わない。

3
Yes
1 2
2 3
3 4
4 5
5 6
  • 出力例は以下のグラフを表します。
1
No
  • 条件を満たす木が存在しません。