Submission #370392

# Submission time Handle Problem Language Result Execution time Memory
370392 2021-02-24T01:19:21 Z TosakaUCW Igra (COCI17_igra) C++17
100 / 100
1 ms 364 KB
#include <stdio.h>
#include <algorithm>
#include <string>
#include <iostream>

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

bool check(int x, int y)
{
    cnt1[y]--, cnt2[t[x] - '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[y]++, cnt2[t[x] - 'a']++, false;
    }
    return true;
}

int main()
{
    // freopen("igra.in", "r", stdin), freopen("igra.out", "w", stdout);
    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 time Memory Grader output
1 Correct 1 ms 364 KB Output is correct
2 Correct 0 ms 364 KB Output is correct
3 Correct 0 ms 364 KB Output is correct
4 Correct 1 ms 364 KB Output is correct
5 Correct 0 ms 364 KB Output is correct
6 Correct 0 ms 364 KB Output is correct
7 Correct 0 ms 364 KB Output is correct
8 Correct 1 ms 364 KB Output is correct
9 Correct 1 ms 364 KB Output is correct
10 Correct 1 ms 364 KB Output is correct