問題一覧 > 通常問題

No.2496 LCM between Permutations

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / リアクティブ問題 (詳しくはこちら
タグ : / 解いたユーザー数 53
作問者 : KumaTachiRenKumaTachiRen / テスター : 👑 p-adicp-adic
5 ProblemId : 9855 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-09-11 11:52:42

問題文

この問題はインタラクティブ問題です.

正整数 $N$ が与えられます.また,$(1,2,\dots,N)$ の順列 $A=(A_1,A_2,\dots,A_N),B=(B_1,B_2,\dots,B_N)$ が隠されています. あなたは次の質問を $3N$ 回まで行うことができます.

  • 質問:$1$ 以上 $N$ 以下の整数 $i,j$ を選び,$\mathrm{lcm}(A_i,B_j)$ の値を尋ねる.
$A,B$ を特定してください.ただし $A,B$ はテストケースを通して固定されており,質問の内容に応じて $A,B$ が変わることはありません.

制約

  • $1\leq N\leq 1000$
  • 順列 $A,B$ はテストケース毎に固定である.
  • 入力はすべて整数

入出力

最初に,標準入力から順列の長さ $N$ が与えられます.

$N$

次に,$A,B$ を特定できるまで質問を繰り返してください.質問は次の形式で標準出力に出力してください.

? $i$ $j$

質問に対する答えは,標準入力から次の形式で与えられます.

$X$

ここで $X=\mathrm{lcm}(A_i,B_j)$ です.

$A,B$ が特定できたら,それを以下の形式で標準出力に出力してください(1行で出力してください).その後,ただちにプログラムを終了してください.

! $A_1$ $A_2$ $\dots$ $A_N$ $B_1$ $B_2$ $\dots$ $B_N$

注意点

  • 出力のたびに,末尾に改行を入れた上で標準出力を flush してください.しなかった場合 TLE となる可能性があります.
  • $3N$ 回を超えて質問をしたり,不正な出力を行った場合のジャッジ結果は不定です.
  • 解答を出力したらただちにプログラムを終了してください.そうしなかった場合のジャッジ結果は不定です.

サンプル

$N=3,A=(1,2,3),B=(3,1,2)$ の場合の入出力例です.
入力 出力 説明
3 はじめに $N$ が与えられます.
? 1 2 $i=1,j=2$ として質問をします.
1 $\mathrm{lcm}(A_1,B_2)=1$ です.
? 3 2 $i=3,j=2$ として質問をします.
3 $\mathrm{lcm}(A_3,B_2)=3$ です.
? 3 3 $i=3,j=3$ として質問をします.
6 $\mathrm{lcm}(A_3,B_3)=6$ です.
! 1 2 3 3 1 2 $A=(1,2,3),B=(3,1,2)$ と特定できたので,それを解答します.

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。