제출 #370391

#제출 시각아이디문제언어결과실행 시간메모리
370391TosakaUCWIgra (COCI17_igra)C++17
20 / 100
1 ms364 KiB
#include <stdio.h>
#include <algorithm>
#include <string>
#include <iostream>

int n, cnt1[3], cnt2[3];
std::string s, t, ans;

bool check(int i, int j)
{
    cnt1[j]--, cnt2[t[i] - 'a']--;
    for (int i = 0; i < 3; i++)
    {
        int sum = 0;
        for (int j = 0; j < 3; j++)
            if (i ^ j)
                sum += cnt2[j];
        if (cnt1[i] > sum)
            return cnt1[j]++, cnt2[t[i] - 'a']++, false;
    }
    return true;
}

int main()
{
    std::cin >> n >> s >> t;
    for (int i = 0; i < n; i++)
        cnt1[s[i] - 'a']++, cnt2[t[i] - 'a']++;
    for (int i = 0; i < n; i++)
        for (int j = 0; j < 3; j++)
            if (cnt1[j] and j != t[i] - 'a' and check(i, j))
            {
                ans += j + 'a';
                break;
            }
    return std::cout << ans, 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...