请先阅读交互题须知 英文 中文(STDIO交互部分)
有 t 组数据,每组数据包含一个长度为 n 的隐藏数组。你的任务是通过操作将数组排序为单调不减序列,即对于每对 i < j,需要保证 。
交互器会首先输出数组的长度 n。你可以通过以下三种操作与交互器进行交互:
-
查询操作 c x y
:
- 查询数组中第 x 个数与第 y 个数的大小关系。
- 交互器返回一个字符:
- 若返回
'>'
,表示第 x 个数大于第 y 个数。
- 若返回
'<'
,表示第 x 个数小于等于第 y 个数。
-
交换操作 s x y
:
-
完成操作 e
:
- 表示排序完成,交互器会检查当前数组是否满足单调不减要求。
输出询问或回答后,不要忘记输出换行并刷新缓存区。否则,您可能会收到 Time limit exceeded 判定。为此,请使用:
在 C++ 中 fflush(stdout)或 cout.flush()
在 Java 中 System.out.flush()
在 Pascal 中 flush(output)
在 Python 中 stdout.flush()
对于其他语言,请参阅其他语言的文档。
你最多可以进行 次操作。
注意事项
- 若交互器返回
'!'
,表示你进行了非法操作或者超出了操作次数限制,此时程序应当退出。
- 若不及时退出,交互器可能会随机返回一种错误。
输入格式
- 第一行包含一个整数 t,表示数据组数。
- 对于每组数据: