#P7321. 「PMOI-4」猜排列
「PMOI-4」猜排列
题目背景
这是一道 IO 交互题。
请各位选手确认好再提交,防止评测机爆炸。
题目描述
小 A 有一个长度为 的排列 ,他想请你猜一猜这个排列。你仅能给出以下两种询问:
! x y
,他将会告诉你 的值,其中你询问的数应当满足 且 ;否则,他会不高兴并直接判定询问不合法,从而导致WA
。? l S p
,你需要给小 A 一个大小为 的集合 与一个整数 ,其中 ,其中对于任意 ,,且 互不相同,还要满足 ,,小 A 将会告诉你这个集合中 的所有的 ,返回形式如下:首先会返回一个整数 ,接着会返回 个整数,表示有 个满足条件的 (注意返回的是集合 中的元素,而不是下标!)。
你最多只能向小 A 询问 个问题 , 个问题 ,其中问题二中询问的集合大小之和应不超过 来猜出这个序列。
输入格式
输入排列的长度 和 以开始交互。
交互过程中,您可以进行题目描述中的两种询问。无论是第一种询问还是第二种询问,交互库都会返回一个整数。
在您确定答案后,请以 A a[1] a[2] ... a[n-1] a[n]
的形式输出一行,停止交互。
在您输出一行后,请清空缓冲区:
- 在 C++ 中,使用
fflush(stdout)
或cout.flush()
。 - 在 Pascal 中,使用
flush(output)
。 - 在 Python 中,使用
stdout.flush()
。 - 其它语言请自行查阅文档。
输出格式
见「交互方式」。
3 100 100 100
1 3
1 2
? 3 1 2 3 3
? 2 1 2 2
A 1 2 3
提示
【数据范围】
本题采用捆绑测试。
Subtask 编号 | 分值 | 特殊限制 | ||||
---|---|---|---|---|---|---|
无 | ||||||
A | ||||||
无 | ||||||
A:保证排列 随机构造。
【提示】
-
询问不合法或交互库输出数超过 后继续询问会直接导致 WA。
-
数据范围的顶栏都是 而非 。