#P16470. [GKS 2013 #A] Rational Number Tree
[GKS 2013 #A] Rational Number Tree
题目描述
考虑一棵无限完全二叉树,其中根节点为 ,节点 的左子节点和右子节点分别为 和 。这棵树如下图所示:
:::align{center}
:::
已知每个正有理数在这棵树中恰好出现一次。对这棵树进行层序遍历,得到如下序列:
, , , , , , ,
请解决以下两个问题:
- 找到序列中的第 个元素,其中 从 开始。例如,对于输入 ,正确的输出是 。
- 给定 ,找到它在序列中的位置。例如,输入 会得到输出 。
输入格式
第一行输入包含测试用例的数量 。接下来是 个测试用例。每个测试用例占一行,包含一个问题编号( 或 )以及一个或两个额外的整数:
- 如果问题编号为 ,则只给出一个整数 ,你需要找到序列中的第 个元素。
- 如果问题编号为 ,则给出两个整数 和 ,你需要找到 在序列中的位置。
输出格式
对于每个测试用例:
- 如果问题编号为 ,则输出一行形如 "Case #x: p q" 的内容,其中 是测试用例编号(从 开始), 分别是所求序列元素的分子和分母。
- 如果问题编号为 ,则输出一行形如 "Case #x: n" 的内容,其中 是测试用例编号(从 开始), 是给定数字的位置。
4
1 2
2 1 2
1 5
2 3 2
Case #1: 1 2
Case #2: 2
Case #3: 3 2
Case #4: 5
提示
限制
; 与 互质。
测试集 1 - 可见
; 是层编号不超过 的树中的元素。
测试集 2 - 隐藏
; 是层编号不超过 的树中的元素。
翻译由 DeepSeek V4 Pro 完成