AT_abc166_f.[ABC166F] Three Variables Game
提高+/省选-
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
在某个游戏中,有三个变量,分别用 A、B、C 表示。
随着游戏的进行,你需要进行 N 次选择。每一次选择由字符串 si 表示,当 si 为 AB 时,表示你可以选择给 A 或 B 加 1,同时从另一个变量减去 1;当 si 为 AC 时,表示你可以选择给 A 或 C 加 1,同时从另一个变量减去 1;当 si 为 BC 时,表示你可以选择给 B 或 C 加 1,同时从另一个变量减去 1。
在每一次选择之后,A、B、C 的值都不能为负数。
请判断是否存在一种选择方式,使得能够完成全部 N 次选择且始终满足上述条件。如果存在,请给出一种可行的选择方案。
输入格式
输入以如下格式从标准输入读入:
N A B C
s1
s2
⋮
sN
输出格式
如果存在一种选择方式能够完成全部 N 次选择且始终满足条件,则输出 Yes,否则输出 No。
如果输出 Yes,则在接下来的 N 行中,依次输出每次选择中被加 1 的变量名(A、B 或 C)。
输入输出样例
输入#1
2 1 3 0 AB AC
输出#1
Yes A C
输入#2
3 1 0 0 AB BC AB
输出#2
No
输入#3
1 0 9 0 AC
输出#3
No
输入#4
8 6 9 1 AC BC AB BC AC BC AB AB
输出#4
Yes C B B C C B A A
说明/提示
限制条件
- 1≤N≤105
- 0≤A,B,C≤109
- N、A、B、C 均为整数
- si 仅为
AB、AC、BC之一
样例解释 1
可以如下完成全部 2 次选择:
- 第 1 次选择时,给 A 加 1,从 B 减 1。此时 A 变为 2,B 变为 2。
- 第 2 次选择时,给 C 加 1,从 A 减 1。此时 C 变为 1,A 变为 1。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?