问题2294--二叉树的性质

2294: 二叉树的性质

时间限制: 1 Sec  内存限制: 128 MB
提交: 9  解决: 3
[提交] [状态] [讨论版] [命题人:]

题目描述

背景
在计算机科学中,二叉树是一种普通的数据结构。在本题中,给出一棵无限的二叉树,结点被标识为一对整数,构造如下:
树根被标识为整数对(1, 1);
如果一个结点被标识为(a, b),那么其左子树树根被标识为(a + b, b),其右子树树根被标识为(a, a + b)。
问题
给出上述二叉树的某个结点标识(a, b),假定从树根到这一给定的结点是沿着最短的路径走,你能给出多少次要向左子树走,多少次要向右子树走?

输入

第一行给出测试用例个数。每个测试用例占一行,由两个整数i和j组成(1<=i, j<=2*109),表示结点的标识(i, j)。假定给出的结点都是有效的结点。

输出

对每个测试用例,第一行为“Scenario #i:”,其中i是测试用例编号,从1开始编号;然后输出一行给出两个整数l和r,中间用1个空格隔开,其中l是从树根到该结点要向左子树走的次数,r是从树根到该结点要向右子树走的次数。在每个测试用例结束后输出一个空行。

样例输入 Copy

3
42 1
3 4
17 73

样例输出 Copy

Scenario #1:
41 0

Scenario #2:
2 1

Scenario #3:
4 6

来源/分类