#P14227. [ICPC 2024 Kunming I] 排列
[ICPC 2024 Kunming I] 排列
题目描述
这是一道交互题。
有一个隐藏的 的排列。请回忆: 的排列指的是一个序列,从 到 (含两端)的每个整数在序列中都恰好出现一次。Piggy 准备通过若干次询问找出这个隐藏的排列。
每次询问包含一个长度为 的整数序列(可以不是排列),每个元素的取值范围从 到 (含两端)。每次询问之后,Piggy 会收到一个答案 ,表示他询问的序列中,有几个位置和隐藏的排列相同。例如,假设隐藏的排列是 ,Piggy 询问的序列是 ,那么他将收到 作为回答。
然而 Piggy 最近太忙了,所以他把问题交给了您。您需要在 次询问内找出这个排列。
输入格式
每个测试文件仅有一组测试数据。
第一行输入一个整数 (),表示隐藏的排列的长度。
交互格式
要提出询问,请输出一行。首先输出一个 ,之后跟一个空格,然后输出 个范围在 到 之间的整数,整数之间由单个空格分隔。在清空输出缓冲区之后,您的程序需要读入一个整数 ,表示对您的询问的回答。
要猜想排列,请输出一行。首先输出一个 ,之后跟一个空格,然后输出一个 的排列,整数之间由单个空格分隔。在清空输出缓冲区之后,您的程序应该立即退出。
请注意,每组测试数据的答案都是预先确定的。也就是说,裁判程序并不是适应性的。还请注意,猜想排列不算一次询问。
清空输出缓冲区可以使用以下方式:
- C 和 C++ 使用 (如果您使用 )或 (如果您使用 )。
- Java 使用 。
- Python 使用 。
5
3
4
2
0 3 1 3 2 2
0 3 1 5 2 2
0 3 5 4 4 4
1 3 1 5 2 4
提示
请注意,如果您收到了 Time Limit Exceeded 的评测结果,有可能是因为您的询问不合法,或您的询问次数超出了限制。