問題一覧 > 通常問題

No.3115 One Power One Kill

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / リアクティブ問題 (詳しくはこちら
タグ : / 解いたユーザー数 84
作問者 : Nzt3 / テスター : ponjuice kenken714 Naru820
4 ProblemId : 12107 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2025-04-18 00:28:49

問題文

この問題はリアクティブ問題です。

ジャッジは $100$ 以上 $10^5$ 以下の整数 $X$ を隠し持っています。 次の操作を $1$ 回行うことで操作後の $X'$ を特定してください。

  1. あなたは $100$ 以上 $10^5$ 以下の整数 $A,B$ を宣言し、ジャッジに伝える
  2. $Y=A^B \mathrm{mod} (10^{9}+7)$ とする
  3. ジャッジは $K=\gcd(X,Y)$ をあなたに伝える
  4. $X'$ は $X^A \mathrm{mod} B$ に設定される

ジャッジは適応的であり、途中で今までの返答に矛盾しない範囲で $X$ の値を変更することがあります。

制約

  • $100 \le X \le 10^5$

入出力

はじめに、あなたが $A,B$ を出力してください。

$A$ $B$

ジャッジが計算した $K$ が与えられます。

$K$

あなたが推測した $X'$ を出力してください。

$X'$

結果を表す整数 $\mathrm{ret}$ が与えられます。

$\mathrm{ret}$

$\mathrm{ret}=1$ のとき推測が正しいことを表します。
$\mathrm{ret}=0$ のとき推測が間違っていることを表します。

注意

  • ジャッジは適応的です。具体例はサンプルを参照してください。
  • 出力のたびにflushしてください。
    • C++ではstd::cout<<std::endl,Python3ではprint(flush=True)などの方法があります。
  • 出力形式が間違っている場合、ジャッジ結果が不定になる可能性があります。

サンプル

入力出力説明
ジャッジは $X=100$ と設定する。この値は知らされない。
123 456あなたは $A=123,B=456$ とした。
ジャッジは $Y=123^{456} \pmod{10^9+7} = 565291922$ を計算する。
2ジャッジは $K=\gcd(X,Y)=2$ を計算する。
ジャッジは $X'=100^{123} \pmod{456} = 64$ を計算する。この値は知らされない。
64あなたは $X'=64$ と推測した。
$X=106$ としても $A,B,K$ には矛盾しない。
ジャッジは $X=106$ に変更する。 $X'=106^{123}\pmod{456}=400$ と変更される。
0$X'$ の推測が間違っていると判定された。

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