頂点が 個ある有向グラフがある。頂点には の番号が付けられている。
各頂点 には値 が与えられる。有向辺は次の規則に従って存在する。
このグラフにおいて、すべての頂点をちょうど一度ずつ訪れる経路である ハミルトン路を一つ求めよ。
経路で続けて訪れる二つの頂点の間には、移動する方向の有向辺が存在しなければならない。始点に戻る必要はない。
例えば、、 のとき、 はハミルトン路である。各頂点をちょうど一度ずつ訪れ、有向辺 、、 がすべて存在するからである。
入力は次の形式で標準入力から与えられる。
各テストケースについて、ハミルトン路が存在しない場合は一行に -1 を出力する。
ハミルトン路が存在する場合、その経路が訪れる頂点を始点から終点の順に とする。一行に を空白区切りで出力する。 は の順列でなければならず、すべての に対して、頂点 から頂点 への有向辺が存在しなければならない。
1 番目のテストケースでは、経路 がハミルトン路である。
2 番目のテストケースでは、ハミルトン路は存在しない。
残りの出力も、それぞれのテストケースで条件を満たすハミルトン路の例である。
各ケースは次の形式で与えられる。
複数の解が存在する場合、そのうちどれを出力してもよい。
| 3 | 22 | (). 즉, 들이 나온 뒤 들이 나온다. 모든 원소가 이거나 모두 인 경우도 포함한다. |
| 4 | 47 | 추가적인 제약이 없다. |