配点 : 500 点
問題文
整数 N が与えられます。{1,2,...N} の部分集合の組 (S1,S2,...,Sk) であって、以下の条件を満たすものが存在するか判定し、
存在する場合はひとつ構成してください。
- 1,2,...,N のうちどの整数も、S1,S2,...,Sk のうちちょうど 2 つに含まれる
- S1,S2,...,Sk のうちどの 2 つの集合をとっても、それらに共通して含まれる要素はちょうど 1 つである
制約
- 1≤N≤105
- N は整数である
入力
入力は以下の形式で標準入力から与えられる。
N
出力
条件を満たす部分集合の組が存在しない場合、No
を出力せよ。
存在する場合、まず Yes
を出力し、次いで以下の形式で部分集合の情報を出力せよ。
ただし、Si={Si,1,Si,2,...,Si,∣Si∣} とする。
条件を満たすものが複数ある場合、どれを出力しても構わない。
k
∣S1∣ S1,1 S1,2 ... S1,∣S1∣
:
∣Sk∣ Sk,1 Sk,2 ... Sk,∣Sk∣
3
Yes
3
2 1 2
2 3 1
2 2 3
(S1,S2,S3)=({1,2},{3,1},{2,3}) とすれば、条件を満たすことが確認できます。
4
No