#4977. Bad Juice

0
    ID: 4977 传统题 2000ms 1024MiB 尝试: 0 已通过: 0 难度: 3 上传者: 标签>AtCoderabc337EGESP 5级位运算(简单)枚举(单层循环)

Bad Juice

Bad Juice

题目描述

This is an interactive problem (a type of problem where your program interacts with the judge program through Standard Input and Output). There are NN bottles of juice, numbered 11 to NN. It has been discovered that exactly one of these bottles has gone bad. Even a small sip of the spoiled juice will cause stomach upset the next day. Takahashi must identify the spoiled juice by the next day. To do this, he decides to call the minimum necessary number of friends and serve them some of the NN bottles of juice. He can give any number of bottles to each friend, and each bottle of juice can be given to any number of friends. Print the number of friends to call and how to distribute the juice, then receive information on whether each friend has an upset stomach the next day, and print the spoiled bottle's number.

输入格式

输出格式

提示

NN is an integer. 2≤N≤1002 \leq N \leq 100This is an interactive problem (a type of problem where your program interacts with the judge program through Standard Input and Output). Before the interaction, the judge secretly selects an integer XX between 11 and NN as the spoiled bottle's number. The value of XX is not given to you. Also, the value of XX may change during the interaction as long as it is consistent with the constraints and previous outputs. First, the judge will give you NN as input. NN

You should print the number of friends to call, MM, followed by a newline. MM

Next, you should perform the following procedure to print MM outputs. For i=1,2,…,Mi = 1, 2, \ldots, M, the ii-th output should contain the number KiK_i of bottles of juice you will serve to the ii-th friend, and the KiK_i bottles' numbers in ascending order, Ai,1,Ai,2,…,Ai,KiA_{i, 1}, A_{i, 2}, \ldots, A_{i, K_i}, separated by spaces, followed by a newline. KiK_i Ai,1A_{i, 1} Ai,2A_{i, 2} …\ldots Ai,KiA_{i, K_i}

Then, the judge will inform you whether each friend has a stomach upset the next day by giving you a string SS of length MM consisting of 00 and 11. SS

For i=1,2,…,Mi = 1, 2, \ldots, M, the ii-th friend has a stomach upset if and only if the ii-th character of SS is 11. You should respond by printing the number of the spoiled juice bottle X′X', followed by a newline. X′X'

Then, terminate the program immediately. If the MM you printed is the minimum necessary number of friends to identify the spoiled juice out of the NN bottles, and the X′X' you printed matches the spoiled bottle's number XX, then your program is considered correct.Each output should end with a newline and flushing Standard Output. Otherwise, you may receive a TLE verdict. The verdict is indeterminate if your program prints an invalid output during the interaction or terminates prematurely. In particular, note that if a runtime error occurs during the execution of the program, the verdict may be WA or TLE instead of RE. Terminate the program immediately after printing X′X'. Otherwise, the verdict is indeterminate. The judge for this problem is adaptive, meaning that the value of XX may change as long as it is consistent with the constraints and previous outputs.Below is an interaction with N=3N = 3.

</table>

标签: AtCoder|abc337E

来源

AtCoder|abc337E

Input Output Description
$3$ The number of bottles, $N$, is given.
$2$ Print the number of friends to call, $M$.
$2 1 2$ Serve juice $1$ and juice $2$ to the first friend.
$1 2$ Serve juice $2$ to the second friend.
$10$ The string $S$ is given, indicating whether each friend has a stomach upset the next day.
$1$ Print the spoiled bottle's number.