#P11818. [PA 2019 Final] 一安在? / Gdzie jest jedynka? 2
[PA 2019 Final] 一安在? / Gdzie jest jedynka? 2
题目背景
请使用 C++14 或者更高的版本提交,否则不保证可以编译成功。
本题数据为自造。交互库疑似有点弱,欢迎加强。
- std: KanameMadoka & Wuyanru;
- interactor:KanameMadoka & Starrykiller;
- validator & generator:Starrykiller;
- special thanks to FFTotoro。
本题 为长度为 的全排列,在这几个测试点中交互库是不自适应的。
题目描述
这是一道交互题。 本题中,交互库是自适应的。
有一个隐藏的 的排列 。
你可以询问至多 次:每次询问给定 (),交互库会返回 的值。特别地,定义 。
找到这个排列中 的位置。也就是,找到 ,使得 。
实现细节
本题单个测试点内有多组测试数据。
你不需要,也不应该实现 main
函数。
你需要在文件头加入以下内容:
你应该实现以下的函数:
int solve(int n)
:处理一组排列长度为 的数据。- 返回一个非负整数 满足 。你需要保证 ,且 。
实际测评时将会多次调用 solve
函数。
你可以调用以下的函数:
int ask(int i, int j)
:询问 。- 你需要保证 ,且 。
需要注意的是,交互库是自适应的,也就是,交互库会根据你的询问(在不矛盾的前提下)动态调整答案。
输入格式
见【实现细节】。
输出格式
见【实现细节】。
提示
样例交互
设原序列为 。
交互库 | 选手程序 |
---|---|
调用 | |
返回 | 调用 |
返回 | 调用 |
返回 | 调用 |
,判定为 Accepted | 返回 |
需要注意的是,样例交互仅为交互格式示意,不代表根据这些信息能唯一确定答案。 交互库是自适应的。
数据范围
- 。
再次提醒,交互库是自适应的。