U392047 两数之星
题目描述
假设 $a$ 和 $b$ 都是非负整数,定义一种新的二元运算符 $\star$,满足以下运算规则:
* $0 \star 0 = 0$;
* 如果 $a$ 和 $b$ 都是偶数,则 $a \star b = 2 \times \left(\dfrac{a}{2} \star \dfrac{b}{2} \right)$;
* 如果 $a$ 和 $b$ 都是奇数,则 $a \star b = 2 \times \left(\dfrac{a-1}{2} \star \dfrac{b-1}{2} \right)$;
* 如果 $a$ 是偶数,$b$ 是奇数,则 $a \star b = 1 + 2 \times \left(\dfrac{a}{2} \star \dfrac{b-1}{2} \right)$;
* 其他情况,$a \star b = b \star a$。
给出两个非负整数 $x$ 和 $y$,请你输出 $x \star y$ 的结果。
输入格式
输入共两行:
第一行输入一个非负整数,表示 $x$;
第二行输入一个非负整数,表示 $y$。
输出格式
输出一个整数,表示答案。
说明/提示
本题共有十组测试数据:
* 对于前四组测试数据,满足 $x \le 1$ 且 $y \le 1$;
* 对于前八组测试数据,满足 $x \le 100$ 且 $y \le 100$;
* 对于所有的测试数据,满足 $x \le 10^{1000}$ 且 $y \le 10^{1000}$。
提示:
1. 可以使用 `sys` 模块中的 `setrecursionlimit` 函数设置最大递归深度;
3. 递归法无法通过最后一个测试数据。