No.1981 [Cherry 4th Tune N] アルゴリズムが破滅する例
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / スペシャルジャッジ問題 (複数の解が存在する可能性があります)
タグ : / 解いたユーザー数 81
作問者 : 👑
Kazun
/ テスター :
miscalc
👑
potato167
タグ : / 解いたユーザー数 81
作問者 : 👑



問題文最終更新日: 2022-06-17 20:23:01
問題文
非負整数 が与えられる. 以下の条件を全て満たすグラフは存在するか? 存在するならば, その一例を求め, 出力の説明に沿って出力せよ. 存在しないならば, その旨を報告せよ.
- 頂点数は である. その 個の頂点を とする.
- 辺の本数を とする. 番目の辺は と を無向辺で結ぶ.
- 単純グラフである. つまり, において, ならば, である.
- 完全マッチングが存在する.
- 以下で説明するアルゴリズム A を実行して得られるマッチングの大きさは である (ただし, マッチングの大きさとは, マッチングを成す辺の数とする).
アルゴリズム A 個の頂点全てを白で塗る. の順に以下を行う. 2つの頂点 が共に白で塗られているならば, 番目の辺を採用し, 頂点 を赤で塗り替える. そうでない場合, 番目の辺は採用しない. 採用した辺たちからなるマッチングを出力する.
制約
- 入力は全て整数である.
入力
出力
条件を満たすようなグラフが存在しない場合, 1行で -1
と出力せよ.
存在する場合, 以下の形式で出力せよ.
ただし, 条件を満たすようなグラフが複数存在する場合, そのうちの1つを出力すれば良い.
どちらの場合でも最後に改行を忘れないこと.
サンプル
サンプル1
入力
3 2
出力
4 1 3 2 3 3 1 1 2
この出力によるグラフは以下に対応する. このグラフに対してアルゴリズム A を実行すると以下のようになる.
- とする. このとき, 頂点 は共に白なので, 番目の辺を採用する. そして, 頂点 を赤で塗る.
- とする. このとき, 頂点 が赤なので, 番目の辺は採用しない.
- とする. このとき, 頂点 は共に白なので, 番目の辺を採用する. そして, 頂点 を赤で塗る.
- とする. このとき, 頂点 が赤なので, 番目の辺は採用しない.
サンプル2
入力
46 0
出力
-1
アルゴリズム A を実行する際, のときの辺は必ず採用される. このことから, 出力されるマッチングの大きさが になることはない.
サンプル3
入力
4 4
出力
16 2 1 1 1 1 3 4 3 2 4 4 2 3 3 1 2 3 4 2 2 4 1 4 4 1 4 2 3 3 1 3 2
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。