#ABC313D. 奇偶

奇偶

奇偶

题目描述

这是一个交互式任务(你的程序与评测程序通过标准输入输出进行交互)。

给定整数 NN 和一个小于 NN 的奇数 KK。 评测程序隐藏着一个由 0 和 1 组成、长度为 NN 的序列 A=(A1,A2,,AN)A = (A_1, A_2, \dots, A_N)。 你无法直接访问序列 AA 的元素,但可以向评测程序提出以下询问,最多 NN 次:

选择 11NN(含端点)之间互不相同的整数 x1,x2,,xKx_1, x_2, \dots, x_K,询问 Ax1+Ax2++AxKA_{x_1} + A_{x_2} + \dots + A_{x_K} 的奇偶性。

请用不超过 NN 次询问确定 (A1,A2,,AN)(A_1, A_2, \dots, A_N),并输出答案。 注意,评测程序是自适应的(adaptive)。换言之,评测程序可以在与以往询问的回答不矛盾的前提下,任意修改 AA 的内容。 因此,当且仅当你的程序满足以下条件时,才被视为正确:

你的程序输出的序列与到目前为止所有询问的回答一致,并且这样的序列是唯一的。

输入格式

这是一个交互式任务(你的程序与评测程序通过标准输入输出进行交互)。 首先,从标准输入读取 NNKK:

NN KK

然后,重复询问,直到能唯一确定 (A1,A2,,AN)(A_1, A_2, \dots, A_N)

每次询问后,评测程序将从标准输入给出回答:

TT

这里,TT 表示对询问的回答。当 Ax1+Ax2++AxKA_{x_1} + A_{x_2} + \dots + A_{x_K} 为偶数时 TT 为 0,为奇数时 TT 为 1。 但是,如果 x1,x2,,xKx_1, x_2, \dots, x_K 不满足约束,或询问次数超过 NN,则 TT1-1

输出格式

每次询问按以下格式输出到标准输出,其中 x1,x2,,xKx_1, x_2, \dots, x_K11NN(含端点)之间互不相同的 KK 个整数:

?? x1x_1 x2x_2 \dots xKx_K

如果评测程序返回 1-1,你的程序已被视为不正确,请立即终止程序。

当你能确定 AA 的所有元素时,按以下格式输出这些元素,并立即终止程序:

!! A1A_1 A2A_2 \dots ANA_N

样例

本题为交互式任务,没有样例。

数据范围

  • 1K<N10001 \le K \lt N \le 1000
  • KK 是奇数
  • AiA_i 为 0 或 1

提示

  • 每次输出后都要换行并刷新标准输出(flush)。否则评测结果可能为 TLE。
  • 交互过程中如果输出了格式错误的内容,或程序中途结束,评测结果不定。
  • 输出答案后应立即终止程序,否则评测结果不定。
  • 评测程序是自适应的,可以在与以往回答不矛盾的前提下修改 AA 的内容。

以下是以 N=5,K=3N=5, K=3 为例的交互过程示例。请注意,如果照此示例输出,评测结果会是 WA。

输入 输出 说明
5 3 首先给出整数 NNKK
? 2 4 1 (x1,x2,x3)=(2,4,1)(x_1, x_2, x_3) = (2, 4, 1) 进行询问。
0 询问回答为 0,评测程序返回该值。
? 5 3 2 (x1,x2,x3)=(5,3,2)(x_1, x_2, x_3) = (5, 3, 2) 进行询问。
1 询问回答为 1,评测程序返回该值。
! 1 0 1 1 0 输出 (1,0,1,1,0)(1, 0, 1, 1, 0) 作为答案。

在该示例中,程序输出的 (1,0,1,1,0)(1, 0, 1, 1, 0) 与到目前所有询问的回答一致,但例如 (0,0,1,0,0)(0, 0, 1, 0, 0) 也与这些回答一致,因此序列 AA 并未被唯一确定,该程序会被判为不正确。

难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
3024
类型
传统题
Time Limit
2000ms
Memory Limit
1024MiB
上传者
标签