提出 #12745093


ソースコード 拡げる

#include <bits/stdc++.h>
using namespace std;
#define ll long long

int main() {
    int N;
    cin >> N;
    ll A, B, C;
    cin >> A >> B >> C;
    vector<string> S(N+1);
    for (int i = 0; i < N; i++) cin >> S[i];
    S[N] == "--";
    
    vector<char> ans(N);
    for (int i = 0; i < N; i++) {
        if (S[i] == "AB") {
            if (A == 0 && B == 0) {
                cout << "No" << endl;
                return 0;
            }
            if (A == 0) {
                ans[i] = 'A';
                A++;
                B--;
            }else if (B == 0) {
                ans[i] = 'B';
                A--;
                B++;
            }else if (A == 1 && C == 0 && S[i+1] == "AC") {
                ans[i] = 'A';
                A++;
                B--;
            }else if (B == 1 && C == 0 && S[i+1] == "BC") {
                ans[i] = 'B';
                B++;
                A--;
            }else if (A < B) {
                ans[i] = 'A';
                A++;
                B--;
            }else {
                ans[i] = 'B';
                B++;
                A--;
            }
        }
        if (S[i] == "AC") {
            if (A == 0 && C == 0) {
                cout << "No" << endl;
                return 0;
            }
            if (A == 0) {
                ans[i] = 'A';
                A++;
                C--;
            }else if (C == 0) {
                ans[i] = 'C';
                C++;
                A--;
            }else if (A == 1 && B == 0 && S[i+1] == "AB") {
                ans[i] = 'A';
                A++;
                C--;
            }else if (C == 1 && B == 0 && S[i+1] == "BC") {
                ans[i] = 'C';
                C++;
                A--;
            }else if (A < C) {
                ans[i] = 'A';
                A++;
                C--;
            }else {
                ans[i] = 'C';
                C++;
                A--;
            }
        }
        if (S[i] == "BC") {
            if (B == 0 && C == 0) {
                cout << "No" << endl;
                return 0;
            }
            if (B == 0) {
                ans[i] = 'B';
                B++;
                C--;
            }else if (C == 0) {
                ans[i] = 'C';
                C++;
                B--;
            }else if (B == 1 && A == 0 && S[i+1] == "AB") {
                ans[i] = 'B';
                B++;
                C--;
            }else if (C == 1 && A == 0 && S[i+1] == "AC") {
                ans[i] = 'C';
                C++;
                B--;
            }else if (B < C) {
                ans[i] = 'B';
                B++;
                C--;
            }else {
                ans[i] = 'C';
                C++;
                B--;
            }
        }
    }
    cout << "Yes\n";
    for (int i = 0; i < N; i++) cout << ans[i] << "\n";
    return 0;
}

提出情報

提出日時
問題 F - Three Variables Game
ユーザ hitoare
言語 C++ (GCC 9.2.1)
得点 600
コード長 2991 Byte
結果 AC
実行時間 33 ms
メモリ 6428 KiB

ジャッジ結果

セット名 Sample All
得点 / 配点 0 / 0 600 / 600
結果
AC × 4
AC × 60
セット名 テストケース
Sample Sample_01.txt, Sample_02.txt, Sample_03.txt, Sample_04.txt
All Sample_01.txt, Sample_02.txt, Sample_03.txt, Sample_04.txt, killer_01.txt, killer_02.txt, killer_03.txt, killer_04.txt, killer_05.txt, killer_06.txt, killer_07.txt, killer_08.txt, killer_09.txt, killer_10.txt, one_alive01.txt, one_alive02.txt, one_alive03.txt, one_alive04.txt, one_death01.txt, one_death02.txt, one_death03.txt, one_death04.txt, prime_alive01.txt, prime_alive02.txt, prime_alive03.txt, prime_alive04.txt, prime_alive05.txt, prime_death01.txt, prime_death02.txt, prime_death03.txt, prime_death04.txt, prime_death05.txt, prime_death06.txt, prime_death07.txt, prime_death08.txt, prime_death09.txt, prime_death10.txt, superkiller_01.txt, superkiller_02.txt, superkiller_03.txt, superkiller_04.txt, superkiller_05.txt, superkiller_06.txt, superkiller_07.txt, superkiller_08.txt, superkiller_09.txt, superkiller_10.txt, three_01.txt, three_02.txt, three_03.txt, three_04.txt, two_01.txt, two_02.txt, two_03.txt, two_04.txt, two_05.txt, two_06.txt, two_07.txt, two_08.txt, zero_01.txt
ケース名 結果 実行時間 メモリ
Sample_01.txt AC 3 ms 3628 KiB
Sample_02.txt AC 3 ms 3628 KiB
Sample_03.txt AC 2 ms 3628 KiB
Sample_04.txt AC 2 ms 3596 KiB
killer_01.txt AC 30 ms 6248 KiB
killer_02.txt AC 27 ms 6428 KiB
killer_03.txt AC 27 ms 6260 KiB
killer_04.txt AC 29 ms 6272 KiB
killer_05.txt AC 32 ms 6336 KiB
killer_06.txt AC 21 ms 6188 KiB
killer_07.txt AC 33 ms 6272 KiB
killer_08.txt AC 31 ms 6428 KiB
killer_09.txt AC 28 ms 6200 KiB
killer_10.txt AC 31 ms 6352 KiB
one_alive01.txt AC 2 ms 3596 KiB
one_alive02.txt AC 2 ms 3592 KiB
one_alive03.txt AC 33 ms 6340 KiB
one_alive04.txt AC 26 ms 6360 KiB
one_death01.txt AC 6 ms 3632 KiB
one_death02.txt AC 2 ms 3600 KiB
one_death03.txt AC 21 ms 6196 KiB
one_death04.txt AC 21 ms 6200 KiB
prime_alive01.txt AC 2 ms 3488 KiB
prime_alive02.txt AC 2 ms 3596 KiB
prime_alive03.txt AC 27 ms 6332 KiB
prime_alive04.txt AC 28 ms 6368 KiB
prime_alive05.txt AC 27 ms 6428 KiB
prime_death01.txt AC 2 ms 3548 KiB
prime_death02.txt AC 2 ms 3436 KiB
prime_death03.txt AC 22 ms 6060 KiB
prime_death04.txt AC 15 ms 4932 KiB
prime_death05.txt AC 22 ms 6160 KiB
prime_death06.txt AC 16 ms 5448 KiB
prime_death07.txt AC 19 ms 6088 KiB
prime_death08.txt AC 18 ms 5508 KiB
prime_death09.txt AC 15 ms 4684 KiB
prime_death10.txt AC 21 ms 5580 KiB
superkiller_01.txt AC 29 ms 6188 KiB
superkiller_02.txt AC 27 ms 6332 KiB
superkiller_03.txt AC 28 ms 6260 KiB
superkiller_04.txt AC 29 ms 6248 KiB
superkiller_05.txt AC 33 ms 6340 KiB
superkiller_06.txt AC 27 ms 6328 KiB
superkiller_07.txt AC 32 ms 6340 KiB
superkiller_08.txt AC 28 ms 6264 KiB
superkiller_09.txt AC 29 ms 6328 KiB
superkiller_10.txt AC 31 ms 6248 KiB
three_01.txt AC 2 ms 3596 KiB
three_02.txt AC 2 ms 3492 KiB
three_03.txt AC 27 ms 6364 KiB
three_04.txt AC 32 ms 6428 KiB
two_01.txt AC 2 ms 3632 KiB
two_02.txt AC 2 ms 3488 KiB
two_03.txt AC 2 ms 3472 KiB
two_04.txt AC 2 ms 3628 KiB
two_05.txt AC 2 ms 3552 KiB
two_06.txt AC 27 ms 6268 KiB
two_07.txt AC 27 ms 6200 KiB
two_08.txt AC 29 ms 6336 KiB
zero_01.txt AC 21 ms 6328 KiB