#4524. Guess The Number 2

0

Guess The Number 2

Guess The Number 2

题目描述

这是一个交互式任务,你的程序与裁判程序通过标准输入输出进行交互。 你和裁判将遵循下面的流程。 该流程由阶段 11 和阶段 22 组成;阶段 11 紧接着阶段 22 进行。 (阶段 11)

裁判选择一个整数 NN,范围是 11 到 10910^9(含端点),该整数对你保密。 你输出一个整数 MM,范围是 11 到 110110(含端点)。 你还要输出一个长度为 MM 的整数序列 A=(A1,A2,…,AM)A=(A_1,A_2,\ldots,A_M),且对所有 i=1,2,…,Mi = 1, 2, \ldots, M 有 1≤Ai≤M1 \leq A_i \leq M。

(阶段 22)

裁判给你一个长度为 MM 的整数序列 B=(B1,B2,…,BM)B=(B_1,B_2,\ldots,B_M)。这里,Bi=fN(i)B_i = f^N(i)。函数 f(i)f(i) 对所有在 11 到 MM(含端点)之间的整数 ii 定义为 f(i)=Aif(i)=A_i,并且 fN(i)f^N(i) 是将 ii 用 f(i)f(i) 替换 NN 次后得到的整数。 根据给定的 BB,你要确定裁判选择的整数 NN,并输出 NN。

在上述流程结束后,立即终止程序以被判定为正确。

输入格式

输出格式

提示

NN 是一个介于 11 与 10910^9(含端点)之间的整数。这是一个交互式任务,你的程序与裁判程序通过标准输入输出进行交互。 (阶段 11)

首先,输出一个整数 MM,范围是 11 到 110110(含端点)。输出后必须换行。

MM

然后,输出一个长度为 MM 的序列 A=(A1,A2,…,AM)A=(A_1,A_2,\ldots,A_M),其元素为 11 到 MM(含端点)之间的整数,元素之间用空格分隔。输出后必须换行。

A1A_1 A2A_2 …\ldots AMA_M

(阶段 22)

首先,输入一个长度为 MM 的整数序列 B=(B1,B2,…,BM)B=(B_1,B_2,\ldots,B_M)。

B1B_1 B2B_2 …\ldots BMB_M

找出整数 NN 并输出。输出后必须换行。

NN

如果你输出了非法内容,裁判将输出 −1-1。在这种情况下,你的提交已被视为错误。由于裁判程序在此时会终止,建议你的程序也随之终止。在每次输出后,添加一个换行并刷新标准输出。否则,你可能会得到一个TLE 判决。 如果在交互过程中打印了无效输出,或程序中途终止,判决将是不确定的。 在你输出答案(或收到 −1-1)后,立即正常终止程序。否则,判决将是不确定。 注意,过多的换行也被视为无效输入。下面是一个 N=2N = 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$ 并正常终止程序。

标签: AtCoder|abc286F

来源

AtCoder|abc286F