#3043. Three Variables Game

0

Three Variables Game

Three Variables Game

题目描述

有一个游戏,包含三个变量,记作 AA、BB 和 CC。 随着游戏进行,会有 NN 个事件要求你做出选择。 每个选择由字符串 sis_i 表示。如果 sis_i 为 ABAB,你必须对 AA 或 BB 加 11,然后从另一个减 11;如果 sis_i 为 ACAC,你必须对 AA 或 CC 加 11,然后从另一个减 11;如果 sis_i 为 BCBC,你必须对 BB 或 CC 加 11,然后从另一个减 11。 在每次选择之后,AA、BB 和 CC 中都不得为负数。 判断在该条件下是否有可能做出 NN 次选择。如果可能,也给出一种可行的选择方式。

输入格式

输入按如下格式从标准输入给出: NN AA BB CC s1s_1 s2s_2 : sNs_N

输出格式

如果在该条件下可以做出 NN 次选择,输出 Yes;否则输出 No。 另外,在前一种情况下,在随后的 NN 行中给出一种可行的选择方式。第 (i+1)(i+1) 行应包含在第 ii 次选择中你将加 11 的变量名(AA、BB 或 CC)。

2 1 3 0
AB
AC
Yes
A
C
3 1 0 0
AB
BC
AB
No
1 0 9 0
AC
No
8 6 9 1
AC
BC
AB
BC
AC
BC
AB
AB
Yes
C
B
B
C
C
B
A
A

提示

1≤N≤1051 \leq N \leq 10^5 0≤A,B,C≤1090 \leq A,B,C \leq 10^9 N,A,B,CN, A, B, C 是整数。 sis_i 为 ABAB、ACAC 或 BCBC。你可以成功地进行两次选择,如下所示:

在第一次选择中,对 AA 加 11 并从 BB 减 11。AA 变为 22,BB 变为 22。 在第二次选择中,对 CC 加 11 并从 AA 减 11。CC 变为 11,AA 变为 11。

标签: AtCoder|abc166F

来源

AtCoder|abc166F