No.2577 Simple Permutation Guess
タグ : / 解いたユーザー数 45
作問者 : null / テスター : 👑 p-adic
問題文
ジャッジは長さ $n$ の順列 $P$ を持っています。$n$ のみが与えられるので、次のクエリを $\lfloor \lfloor (n - 1) \log_2 n \rfloor - \frac{n - 1}{2} +1 \rfloor$ 回まで用いて、順列 $P$ を当ててください。
クエリ:順列 $Q$ を送る。$Q \le P$ であるかどうかを得る。
ただし、長さ $n$ の順列とは $1, 2, \dots, n$ の並べ替えのことです。また、$Q \le P$ とは、すべての $1 \le i \le n$ に対して $Q_i=P_i$ であるか、ある $j$ が存在して、すべての $1 \le i < j$ について $Q_i=P_i$ でありかつ $Q_j < P_j$ であることです。
ジャッジについて
本問題のジャッジは、adaptive です。クエリへの返答に矛盾しない場合、ジャッジが $P$ を変更する可能性があります。
追記:誤字を直しました。(「ジャッジについてについて」を「ジャッジについて」に修正)(0:12)
evil ケースについて
本問題では、リアクティブジャッジの速度の都合上制約を小さくしておりますが、 高速な解法との区別のため evil ケース(こちら 「正解判定のポリシー」を参照してください)を導入しております。このケースの結果はジャッジ結果には影響しません。
制約
- $1 \le n \le 250$
- $P$ は順列。
- 入力は全て整数。
evil ケースの制約
- $250 < n \le 400$
- $P$ は順列。
- 入力は全て整数。
入出力
まず、整数 $n$ が与えられます。
$n$
次に、あなたは $\lfloor \lfloor (n - 1) \log_2 n \rfloor - \frac{n - 1}{2} +1 \rfloor$ 回まで次の形式のクエリを送ることができます。ここで、数列 $Q$ は順列でなければなりません。
$?\ Q_1\ Q_2\ \dots\ Q_n$
$Q \le P$ なら $ret=1$ 、$Q>P$ なら $ret=0$ 、ジャッジに何らかの問題があった場合 $ret=-1$ が与えられます。
$ret$
ここで、$ret = -1$ なら、プログラムを直ちに終了させてください。そうでないなら、クエリを続行するか順列を回答してください。
順列を回答する場合、次の形式で出力してください。この出力はクエリにカウントされません。
$!\ Q_1\ Q_2\ \dots\ Q_n$
その後、プログラムを直ちに終了させてください。
注意
- 各出力のたびに末尾改行と出力の flush をしてください。
- 不正な出力や動作に対するジャッジは不定である可能性があります。
サンプル
やり取りの一例であって、最適なクエリの送り方ではない可能性があります。入力 | 出力 | 説明 |
---|---|---|
5 | $n=5$ | |
? 1 2 3 4 5 | $Q=1, 2, 3, 4, 5$ でクエリを送った。 | |
1 | クエリへの返答は $Q \le P$ であった。 | |
? 5 4 3 2 1 | $Q=5, 4, 3, 2, 1$ でクエリを送った。 | |
0 | クエリへの返答は $Q>P$ であった | |
? 2 5 1 4 3 | $Q=2, 5, 1, 4, 3$ でクエリを送った。 | |
1 | クエリへの返答は $Q \le P$ であった | |
? 2 5 4 3 1 | $Q=2, 5, 4, 3, 1$ でクエリを送った。 | |
1 | クエリへの返答は $Q \le P$ であった | |
! 2 5 4 3 1 | $Q=2, 5, 4, 3, 1$ で回答を送った。 | |
ジャッジ結果で WA を得る。$P=2,5,4,3,1$ であったが、例えば $P=5,4,3,1,2$ も今までのクエリに矛盾しないため、ジャッジは $P$ を変更した。 |
AC
を得られる。
入力 | 出力 | 説明 |
---|---|---|
? 3 1 2 4 5 | $Q=3, 1, 2, 4, 5$ でクエリを送った。 | |
0 | クエリへの返答は $Q > P$ であった |
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。