AT_abc337_e [ABC337E] Bad Juice

题目描述

[problemUrl]: https://atcoder.jp/contests/abc337/tasks/abc337_e 本题为**交互式问题**(你的程序将与评测程序通过标准输入输出进行交互)。 有 $N$ 瓶编号为 $1$ 到 $N$ 的果汁。其中恰好有 $1$ 瓶已经变质。如果喝了哪怕一小口变质的果汁,第二天就会肚子不舒服。 高桥君必须在第二天之前确定哪一瓶果汁变质了。为此,他需要召集**最少数量**的朋友,并让每个朋友品尝部分果汁。每个朋友可以喝任意多瓶果汁,每瓶果汁也可以被任意多位朋友品尝。 你需要输出召集的朋友数量以及每位朋友要喝的果汁编号。第二天,你会收到每位朋友是否肚子不舒服的信息,然后输出变质果汁的编号。

输入格式

本题为交互式问题(你的程序将与评测程序通过标准输入输出进行交互)。 在交互开始前,评测程序会秘密选择一个 $1$ 到 $N$ 之间的整数 $X$,表示变质果汁的编号。$X$ 的值不会告诉你。此外,**在交互过程中,只要不与限制条件和你之前的输出矛盾,$X$ 的值可能会发生变化。** 首先,评测程序会输入 $N$。 > $N$ 你需要输出召集的朋友数量 $M$ 并换行。 > $M$ 接下来,你需要进行 $M$ 次输出。对于第 $i$ 次输出,表示第 $i$ 位朋友要喝的果汁数量 $K_i$ 以及这些果汁的编号(按升序排列),用空格分隔并换行。 > $K_i$ $A_{i,1}$ $A_{i,2}$ $\ldots$ $A_{i,K_i}$ 随后,评测程序会输入一个长度为 $M$ 只包含 `0` 和 `1` 的字符串 $S$。 > $S$ 对于 $i=1,2,\ldots,M$,如果 $S$ 的第 $i$ 个字符为 `1`,则第 $i$ 位朋友第二天肚子不舒服,否则没有不适。 你需要输出变质果汁的编号 $X'$ 并换行。 > $X'$ 之后,立即结束程序。 如果你输出的 $M$ 是确定变质果汁所需的**最小朋友数**,并且你输出的 $X'$ 与实际变质果汁编号 $X$ 一致,则判定为正确。

输出格式

(见上文输入格式说明)

说明/提示

### 限制 - $N$ 为整数 - $2 \leq N \leq 100$ ### 注意事项 - **每次输出后请在末尾加换行并刷新标准输出,否则可能会因超时(TLE)被判错。** - **如果在交互过程中输出不合法,或程序中途退出,评测结果不确定。** 特别是如果程序运行时发生运行时错误,评测结果可能不是 RE,而是 WA 或 TLE。 - 输出 $X'$ 后请立即结束程序,否则评测结果不确定。 - **本题评测为自适应评测。即,只要不与限制条件和你之前的输出矛盾,$X$ 的值可能会发生变化。** ### 输入输出样例 以下为 $N=3$ 时的输入输出示例。 输入 输出 说明 3 // 评测程序输入果汁数量 $N$ 2 // 你输出召集的朋友数 $M$ 2 1 2 // 第 1 位朋友喝果汁 1 和 2 1 2 // 第 2 位朋友喝果汁 2 10 // 评测程序输入每位朋友是否肚子不舒服的字符串 $S$ 1 // 你输出变质果汁的编号 由 ChatGPT 4.1 翻译