No.3115 One Power One Kill
レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限
: 512 MB / リアクティブ問題 (詳しくはこちら)
タグ : / 解いたユーザー数 84
作問者 :
Nzt3
/ テスター :
ponjuice
kenken714
Naru820
タグ : / 解いたユーザー数 84
作問者 :
問題文最終更新日: 2025-04-18 00:28:49
問題文
この問題はリアクティブ問題です。
ジャッジは $100$ 以上 $10^5$ 以下の整数 $X$ を隠し持っています。 次の操作を $1$ 回行うことで操作後の $X'$ を特定してください。
- あなたは $100$ 以上 $10^5$ 以下の整数 $A,B$ を宣言し、ジャッジに伝える
- $Y=A^B \mathrm{mod} (10^{9}+7)$ とする
- ジャッジは $K=\gcd(X,Y)$ をあなたに伝える
- $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)
などの方法があります。
- C++では
- 出力形式が間違っている場合、ジャッジ結果が不定になる可能性があります。
サンプル
入力 | 出力 | 説明 |
---|---|---|
ジャッジは $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もしくは右上の雲マークをクリックしてアカウントを作成してください。