#P14641. 【OIMO Round 1】进制整除
【OIMO Round 1】进制整除
题目描述
这是一道交互题。
X 和 H 玩腻了猜数游戏!于是他们开始玩填数游戏。这个游戏的规则是这样的:
首先,两人确定一个质数 与一个正整数 ,满足 ,并创建一个长度为 的数组 ,下标从 开始。
然后,从 X 开始,两人轮流从 中选择一个以前从未被选过的数 ,并为 赋一个整数值 ,满足 。当所有数都被选择过后,游戏结束。
作为游戏的发起人,X 希望最终的数组 满足 整除 。你能帮她进行这个游戏吗?
交互方式
你需要通过标准输入输出与评测机进行交互。
首先,你需要从标准输入中输入两个整数 ,含义见题面。
接下来,对于每个你的轮次,你需要向标准输出输出两个整数 ,代表你选择的下标和值,然后输出一个换行并清空缓冲区。其中 不应在之前的操作中出现,包括你的和 H 的操作。如果你的操作不合法,评测机将输出 ERROR,此时你应该立即终止你的程序。
对于每个 H 的轮次,你需要从标准输入中输入两个整数 ,代表他选择的下标和值。保证 不在之前的操作中出现过。
当游戏结束时,你应该立即终止你的程序。
你可以使用如下语句来清空缓冲区:
- 对于 C/C++:
fflush(stdout); - 对于 C++:
std::cout << std::flush; - 对于 Java:
System.out.flush(); - 对于 Python:
stdout.flush(); - 对于 Pascal:
flush(output); - 对于其他语言,请自行查阅对应语言的帮助文档。
特别的,对于 C++ 语言,在输出换行时如果你使用 std::endl 而不是 '\n',也可以自动刷新缓冲区。建议使用std::endl以避免忘记输出换行。
输入格式
见【交互方式】。
输出格式
见【交互方式】。
3 2
0 0
1 1
2 1
提示
样例解释
在这里,我们有 ,显然 整除 。
本题采用捆绑测试。
对于所有数据,。
- Subtask 1(20 points):。
- Subtask 2(10 points):。
- Subtask 3(10 points):。
- Subtask 4(60 points):无特殊限制。
交互题会首先受到与传统题相同的限制,如时间,空间限制等。