No.3737 Quiz Time
問題文最終更新日: 2026-09-06 05:12:52
問題文
この問題はインタラクティブ問題です。
あなたは kencho 君とゲームをすることになりました。
ゲームの内容は以下です。
- kencho 君は、お気に入りの $P \times P$ のグリッド $A$ を隠し持っています。$A$ の各マスにはちょうど $1$ つの整数が書かれており、$1$ 以上 $P^2$ 以下の各整数はちょうど $1$ つのマスに書かれています。以下、$A$ の上から $i$ 行目、左から $j$ 列目のマスに書かれた整数を $A_{i, j}$ とします。
- あなたは以下の質問を $P$ 回まで行うことができます。
- $1 \leq i, j \leq P$ を満たす整数の組 $(i, j)$ を指定する。kencho 君は $A_{i, j}$ を答える。
- 質問の後、グリッド $A$ の各マスに書かれた整数を全て言い当てることができればあなたの勝ち、できなければ kencho 君の勝ちです。
このままでは勝ち目が薄いと思ったあなたは優秀なスパイを雇い、次の極秘情報を手に入れました。
- $A_{i, j} + A_{i+1, j+1} = A_{i, j+1} + A_{i+1, j}\ (1 \leq i, j \leq P-1)$ が成り立つ。
ゲームに勝ってください。ただし、スパイの提供した情報は正しいものとします。
制約
- 入力は全て整数
- $2 \leq P \leq 97$
- $P$ は素数
入出力
最初に、$P$ が標準入力から与えられます。
$P$
あなたは質問を行うことができます。以下の形式で標準出力に出力してください。
? $i$ $j$
質問に対する応答は次の形式で標準入力から与えられます。
$A_{i,j}$
ただし、質問の形式や制約が間違っているか質問回数が $P$ 回を超えた場合、代わりに -1 が標準入力から与えられます。この場合、直ちにプログラムを終了させてください。
$A$ の全てのマスの整数を言い当てる場合は、以下の形式で標準出力に出力してください。
!
$A_{1, 1}\ A_{1, 2}\ \ldots\ A_{1, P}$
$A_{2, 1}\ A_{2, 2}\ \ldots\ A_{2, P}$
$\vdots$
$A_{P, 1}\ A_{P, 2}\ \ldots\ A_{P, P}$
その後、すぐにプログラムを終了してください。
各出力の末尾には改行を付け、標準出力を flush してください。
注意
- 出力のあと、標準出力を flush する必要があります。
- 質問のあとは、その応答を必ず受け取る必要があります。
- 特定した $A$ を出力したあとはプログラムをすぐに終了する必要があります。
- $A$ はテストケースごとにあらかじめ決まっており、質問の内容によって途中で変化することはありません。
入出力例
このケースでは $A_{1, 1} = 2, A_{1, 2} = 4, A_{2, 1} = 1, A_{2, 2} = 3$ です。
| 入力 | 出力 | 説明 |
|---|---|---|
2 | $P = 2$ が与えられます。 | |
? 1 2 | $(i, j) = (1, 2)$ を選んで質問します。 | |
4 | 応答として $A_{1, 2} = 4$ が返ってきます。 | |
? 2 1 | $(i, j) = (2, 1)$ を選んで質問します。 | |
1 | 応答として $A_{2, 1} = 1$ が返ってきます。 | |
! | $A_{1, 1} = 2, A_{1, 2} = 4, A_{2, 1} = 1, A_{2, 2} = 3$ と解答します。 | |
| 上記の質問への応答だけでは $A$ は一意に定まりませんが、この例では出力したグリッドが実際の $A$ と一致しているため、正解となります。 |
提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。