atcoder#ABC286F. [ABC286F] Guess The Number 2

[ABC286F] Guess The Number 2

题目描述

この問題は インタラクティブな問題(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。

あなたとジャッジは下記の手順を行います。 手順はフェイズ 1 1 とフェイズ 2 2 からなり、まずフェイズ 1 1 を行った直後、続けてフェイズ 2 2 を行います。

(フェイズ 1 1

  • ジャッジが 1 1 以上 109 10^9 以下の整数 N N を決める。この整数は隠されている。
  • あなたは 1 1 以上 110 110 以下の整数 M M を出力する。
  • さらにあなたは、すべての i = 1, 2, , M i\ =\ 1,\ 2,\ \ldots,\ M について 1  Ai  M 1\ \leq\ A_i\ \leq\ M を満たす、長さ M M の整数列 A=(A1,A2,,AM) A=(A_1,A_2,\ldots,A_M) を出力する。

(フェイズ 2 2

  • ジャッジから、長さ M M の整数列 B=(B1,B2,,BM) B=(B_1,B_2,\ldots,B_M) が与えられる。ここで、 Bi = fN(i) B_i\ =\ f^N(i) である。 f(i) f(i) 1 1 以上 M M 以下の整数 i i に対し f(i)=Ai f(i)=A_i で定められ、 fN(i) f^N(i) i i f(i) f(i) で置き換える操作を N N 回行った際に得られる整数である。
  • あなたは、B B の情報から、ジャッジが決めた整数 N N を特定し、N N を出力する。

上記の手順を行った後、直ちにプログラムを終了することで正解となります。

Input & Output Format

この問題はインタラクティブな問題(あなたが作成したプログラムとジャッジプログラムが標準入出力を介して対話を行う形式の問題)です。

(フェイズ 1 1

  • まず、1 1 以上 110 110 以下の整数 M M を出力してください。出力後、必ず改行してください。

M M

  • その後、空白区切りで 1 1 以上 M M 以下の整数からなる長さ M M の整数列 A=(A1,A2,,AM) A=(A_1,A_2,\ldots,A_M) を出力してください。出力後、必ず改行してください。

A1 A_1 A2 A_2 \ldots AM A_M

(フェイズ 2 2

  • まず、長さ M M の整数列 B=(B1,B2,,BM) B=(B_1,B_2,\ldots,B_M) が入力から与えられます。

B1 B_1 B2 B_2 \ldots BM B_M

  • 整数 N N を求め、出力してください。出力後、必ず改行してください。

N N

不正な出力がなされた場合、ジャッジは -1 を出力します。この時、提出はすでに不正解と判定されています。ジャッジプログラムはこの時点で終了するため、あなたのプログラムも終了するのが望ましいです。

题目大意

你需要构造一个长为 m(1m110)m (1\leq m \leq 110) 的序列 A(1aim)A (1\leq a_i\leq m) 并将其输出,交互库会返回序列 BB 满足 bi=fN(i)(1im)b_i=f^N(i)(1\le i\le m)(其中 f1(i)=aif^1(i)=a_ifN(i)=f(fN1(i))(N>1)f^N(i)=f(f^{N-1}(i))(N>1)),然后请你根据序列 BB 得到正确的 NN

提示

制約

  • N N 1 1 以上 109 10^9 以下の整数

注意点

  • 出力を行うたびに、末尾に改行を入れて標準出力を flush してください。そうしなかった場合、ジャッジ結果が TLE となる可能性があります。
  • 対話の途中で不正な出力を行った、あるいはプログラムが途中で終了した場合のジャッジ結果は不定です。
  • 答えを出力したら(または -1 を受け取ったら)直ちにプログラムを正常終了してください。そうしなかった場合、ジャッジ結果は不定です。
  • 特に、余計な改行も不正なフォーマットの出力とみなされるので注意してください。

入出力例

以下は、N = 2 N\ =\ 2 の場合の入出力例です。

入力 出力 説明        ジャッジは $ N=2 $ と決めました。$ N $ は入力としては与えられず、隠されています。    `4` $ M $ を出力します。    `2 3 4 4` $ A=(2,3,4,4) $ を出力します。    `3 4 4 4`   $ f^2(1)=3,f^2(2)=4,f^2(3)=4,f^2(4)=4 $ なので、ジャッジは $ B=(3,4,4,4) $ をあなたのプログラムに与えます。    `2` $ B $ から $ N=2 $ であると特定しました。 $ N $ を出力し、プログラムを正常終了させてください。