#P7389. 「EZEC-6」游戏

「EZEC-6」游戏

题目描述

Alice 和 Bob 玩游戏。

Alice 初始有 nn 个石子,Bob 初始有 mm 个石子,他们进行若干轮游戏,第 ii 轮游戏的输者给赢者 ii 个石子,当某一轮输者的石子不足时,停止游戏。

给定 n,mn,m,求出游戏最多进行的轮数(不包含结束轮),并构造一个只包含 AB 的胜负序列,满足该序列的长度为你的答案,并且任何时刻每个人手里的石子数非负。

输入格式

本题有多组数据

第一行一个正整数 TT,表示数据组数。

对于每组数据:

一行 22 个非负整数 n,mn,m

输出格式

对于每组数据:

第一行一个整数,表示游戏最多进行的轮数,记你的答案为 xx

第二行一个长度为 xx 的字符串,表示胜负序列。

若第 ii 轮 Alice 赢,则你的胜负序列的第 ii 位为 A,若第 ii 轮 Bob 赢,则你的胜负序列的第 ii 位为 B

3
1 1
0 3
1 3
2
BA
3
AAB
3
ABA

提示

本题采用捆绑测试

  • Subtask 1(6 points):n+m15n+m\le15
  • Subtask 2(8 points):n=mn=m
  • Subtask 3(8 points):n+m103\sum n+m\le10^3
  • Subtask 4(8 points):n+m2×104\sum n+m\le2\times10^4
  • Subtask 5(25 points):n+m4×105\sum n+m\le4\times10^5
  • Subtask 6(45 points):无特殊限制。

对于 100%100\% 的数据,1T1031\le T\le10^30n,m2×1070\le n,m\le2\times10^71n+m2×1071\le n+m\le2\times10^7n+m2×107\sum n+m\le2\times10^7

如果你答对了最多进行的轮数,而你构造的胜负序列不合法,你将得到该测试点 20%20\% 的分数(下取整)。

注意,若你无法构造胜负序列,也请输出一个长度不为零的字符串。

本题输出量较大,请使用较快的输出方法。