#B3721. [语言月赛202303] Stone Gambling S

[语言月赛202303] Stone Gambling S

题目描述

Farmer John 和 Bessie 正在玩一个石头游戏。

初始时,Farmer 手中有 xx 块石头,Bessie 有 yy 块。他们的眼前有一个石头堆,可以认为里面有无限块石头。

从 Farmer John 开始,双方轮流操作。每次操作中,如果自己的石头数量小于对方的石头数,就从石头堆中拿 11 块石头;否则,就要向石头堆里扔石头直到手中的石头数不超过本次操作开始时自身石头数的一半(这就是说,如果本次操作开始时自己有 ww 块石头,则需要扔石头直到手里还剩 w2\left\lfloor\frac w 2 \right\rfloor 块石头)。当有一方在操作完成后手头没有石头(即石头数量为 00)了,那么游戏结束。

请你求出游戏结束时双方手中的石头数量。

输入格式

本题单个测试点内有多组测试数据

第一行是一个整数,表示数据组数 TT。接下来 TT 行,每行表示一组数据的输入信息。

对每组数据,输入只有一行两个整数,依次表示 Farmer John 初始的石头数 xx 和 Bessie 初始的石头数 yy

输出格式

对每组数据,输出一行两个整数,依次表示 Farmer John 最终的石头数 xx 和 Bessie 最终的石头数 yy

1
2 5
0 1

提示

样例 1 解释

下表中,用 sstt 分别代表 Farmer John 和 Bessie 在对应轮次开始前手中的石头数,每行代表一次操作。

操作者 ss tt 操作
Farmer John 22 55 s=s+1s = s + 1
Bessie 33 t=t2t = \left\lfloor\frac{t}{2}\right\rfloor
Farmer John 22 s=s2s = \left\lfloor\frac{s}{2}\right\rfloor
Bessie 11 t=t2t = \left\lfloor\frac{t}{2}\right\rfloor
Farmer John 11 s=s2s = \left\lfloor\frac{s}{2}\right\rfloor
结束 00

数据规模与约定

  • 20%20\% 的数据,保证 x,y5x, y \leq 5
  • 另有 20%20\% 的数据,保证 x=yx = y
  • 60%60\% 的数据,保证 x,y109x, y \leq 10^9T=1T = 1
  • 100%100\% 的数据,保证 1T1001\leq T \leq 1001x,y10181 \leq x, y \leq 10^{18}

provider:一扶苏一