#P13604. [NWRRC 2022] Greatest Common Divisor
[NWRRC 2022] Greatest Common Divisor
Description
Gennady 是一名有志成为程序员的人。他目前正在学习用于计算两个正整数最大公约数的欧几里得算法。
不幸的是,Gennady 有时会混淆整数除法运算符(记作 )和取余运算符(记作 )。例如, ,而 。
以下是 Gennady 最新实现的欧几里得算法:
- 输入:两个正整数 和 。
- 当 时:
- 令 ,然后交换 和 。
- 输出 。
如你所见,如果 Gennady 用的是 运算符而不是 运算符,他的实现就是正确的:上述算法能够成功求出 和 的最大公约数。然而,事实证明,即使有这个严重的 bug,这个算法有时也能给出正确的结果!
现在给定一个整数 。Gennady 想要找出所有满足 ,该算法能够终止并输出正确结果的输入对 。设这些输入对按字典序排列为 (对于所有 ,要么 ,要么 且 )。
你还会得到 个询问。第 个询问是一个正整数 ,你需要输出 和 ,或者报告 。
Input Format
第一行包含两个整数 和 ,分别表示输入值的上界和询问的数量()。
接下来的 行,每行包含一个整数 ()。
Output Format
对于每个询问,输出两个整数。它们要么是 和 ,表示按字典序排列的第 个满足条件的输入对,要么输出 ,如果这样的输入对数量少于 。
10 13
1
2
3
4
5
6
7
8
9
10
11
12
13
2 2
3 3
4 2
4 4
5 5
6 6
7 7
8 8
9 3
9 9
10 4
10 10
-1 -1
Hint
由 ChatGPT 4.1 翻译
京公网安备 11011102002149号