AT_abc166_f.[ABC166F] Three Variables Game

提高+/省选-

通过率:0%

AC君温馨提醒

该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

在某个游戏中,有三个变量,分别用 AA、BB、CC 表示。

随着游戏的进行,你需要进行 NN 次选择。每一次选择由字符串 sis_i 表示,当 sis_i 为 AB 时,表示你可以选择给 AA 或 BB 加 11,同时从另一个变量减去 11;当 sis_i 为 AC 时,表示你可以选择给 AA 或 CC 加 11,同时从另一个变量减去 11;当 sis_i 为 BC 时,表示你可以选择给 BB 或 CC 加 11,同时从另一个变量减去 11。

在每一次选择之后,AA、BB、CC 的值都不能为负数。

请判断是否存在一种选择方式,使得能够完成全部 NN 次选择且始终满足上述条件。如果存在,请给出一种可行的选择方案。

输入格式

输入以如下格式从标准输入读入:

NN AA BB CC
s1s_1
s2s_2
⋮\vdots
sNs_N

输出格式

如果存在一种选择方式能够完成全部 NN 次选择且始终满足条件,则输出 Yes,否则输出 No。

如果输出 Yes,则在接下来的 NN 行中,依次输出每次选择中被加 11 的变量名(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≤1051 \leq N \leq 10^5
  • 0≤A,B,C≤1090 \leq A,B,C \leq 10^9
  • NN、AA、BB、CC 均为整数
  • sis_i 仅为 AB、AC、BC 之一

样例解释 1

可以如下完成全部 22 次选择:

  • 第 11 次选择时,给 AA 加 11,从 BB 减 11。此时 AA 变为 22,BB 变为 22。
  • 第 22 次选择时,给 CC 加 11,从 AA 减 11。此时 CC 变为 11,AA 变为 11。

由 ChatGPT 4.1 翻译

输入解题思路,AI测评打分。不知道怎么写?

首页