atcoder#WTF19A. Magic
Magic
配点 : 点
問題文
すぬけ君はマジックショーでの勝負に参加しました。
ショーのマジシャンは、見た目が同じ 個の箱を用意していました。 彼はそのうち一つに財宝を入れてからそれらの箱を閉じ、箱の順番を無作為に入れ替えてから から までの番号を振りました。
箱の順番を入れ替えられてしまったので、どの箱に財宝が入っているかはすぬけ君には分からなくなりました。 この勝負は、すぬけ君が財宝の入った箱を開けることができれば彼の勝ちです。 それなら、すべての箱を一斉に開ければ必ず勝てるではないかと思われるかもしれません。 しかし、以下のようにいくつか特殊なルールがあります。
- すぬけ君は、箱を一つずつ開けなければならない。一つの箱を開けてその中身を確認したら、その箱は次の箱を開ける前に閉じなければならない。
- 箱 は、最大で 回しか開けてはならない。
- マジシャンは、何らかの手品を用いて閉じた箱から別の閉じた箱に財宝を移すことがある。 簡略化のため、すぬけ君がいずれかの箱を開けている間に財宝が移されることはないとしてよいが、それ以外のあらゆる機会 (すぬけ君が最初に箱を開ける前、またはすぬけ君がいずれかの箱を閉じてから次の箱を開けるまでの間) に財宝が移される可能性がある。
- マジシャンは、上記の財宝の移動を最大で 回行う可能性がある。
すぬけ君は、財宝の初期位置やマジシャンがどのように財宝を移動させるかによらず、必ず勝負に勝つことができるでしょうか?
制約
入力
入力は以下の形式で標準入力から与えられる。
出力
問題の答えが No であれば、-1
とのみ出力せよ。
そうでなければ、すぬけ君が取りうる戦略をひとつ以下の形式で出力せよ。
これは、箱 をこの順に開けることを表す。
複数の解が考えられる場合は、そのうちのどれを出力してもよい。
2 1
5 5
7
1 1 2 1 2 2 1
$1 \rightarrow 1 \rightarrow 2 \rightarrow 1 \rightarrow 2 \rightarrow 2 \rightarrow 1$ の順に 回箱を開ければ、財宝の初期位置やマジシャンがどのように財宝を移動させるかによらず、必ず財宝を見つけることができます。
3 50
5 10 15
-1