0%

The 2026 ICPC Latin America Championship(2026 拉丁美洲决赛)-Gym-106416——G. GATA-CAT(骨架插入式构造方法)

题目大意

题目描述
构造一个长度不超过 500500 且仅由大写字母 CGAT 组成的非空字符串,使其满足以下两个条件:

  1. 字符串中包含恰好 GG 个子序列 GATA(即字符 GATA 按顺序出现,中间可以包含其他字符)。

  2. 字符串中包含恰好 CC 个子序列 CAT(即字符 CAT 按顺序出现,中间可以包含其他字符)。

输入格式
第一行包含一个整数 QQ1Q10001 \le Q \le 1000),表示询问的组数。
接下来的 QQ 行,每行包含两个整数 GGCC0G,C1060 \le G, C \le 10^6),分别表示所需的 GATA 子序列的数量和 CAT 子序列的数量。

输出格式
对于每组询问,输出一行满足条件的字符串(长度不超过 500500 且仅包含 CGAT)。如果存在多个解,输出任意一个即可。题目保证在给定限制下一定有解。

样例输入与输出

样例 1:

1
2
3
4
5
6
7
8
9
10
11
12
Input:
4
1 1
2 3
18 1
2 1

Output:
GATCAT
GGCATAT
GATGGATATCAT
GGATCAT

样例 2:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
Input:
5
1 0
0 1
1 1
0 0
0 0

Output:
GATAT
CAT
GATCAT
GG
GG

样例解释

对于样例 1 的第一组询问(G=1,C=1G=1, C=1),输出为 GATCAT

  • GATA 子序列的数量为 11(由第 1 个字符 G、第 2 个字符 A、第 3 个字符 T、第 5 个字符 A 组成)。

  • CAT 子序列的数量为 11(由第 4 个字符 C、第 5 个字符 A、第 6 个字符 T 组成)。

对于样例 2 的第一组询问(G=1,C=0G=1, C=0),输出为 GATAT

  • GATA 子序列的数量为 11(由第 1 个字符 G、第 2 个字符 A、第 3 个字符 T、第 5 个字符 A 组成)。

  • 由于字符串中完全不包含字符 C,因此 CAT 子序列的数量为 00

思路讲解

image

AC代码

心路历程(WA,TLE,MLE……)