Submission #1189166

#TimeUsernameProblemLanguageResultExecution timeMemory
1189166alexddCrossing (JOI21_crossing)C++20
26 / 100
824 ms1114112 KiB
#include <bits/stdc++.h>
using namespace std;
int n,q;
string s[3];
string combine(string a, string b)
{
    assert(a.size() == b.size());
    string aux;
    aux.resize(a.size());
    for(int i=0;i<a.size();i++)
    {
        if(a[i]==b[i])
        {
            aux[i] = a[i];
        }
        else
        {
            for(char ch:{'J','O','I'})
                if(ch!=a[i] && ch!=b[i])
                    aux[i] = ch;
        }
    }
    return aux;
}
unordered_map<string,int> mp;
signed main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>s[0]>>s[1]>>s[2];
    for(int ord=0;ord<3;ord++)
    {
        for(int mask=1;mask<(1<<3);mask++)
        {
            string idk;
            bool gol=1;
            for(int i=0;i<3;i++)
            {
                if((1<<i)&mask)
                {
                    if(gol)
                    {
                        gol = 0;
                        idk = s[i];
                    }
                    else
                    {
                        idk = combine(idk, s[i]);
                    }
                }
            }
            assert(!gol);
            mp[idk]=1;
        }
        swap(s[0],s[1]);
        swap(s[0],s[2]);
    }

    cin>>q;
    string t;
    cin>>t;
    if(mp[t])
        cout<<"Yes\n";
    else
        cout<<"No\n";
    while(q--)
    {
        int le,ri;
        char ch;
        cin>>le>>ri>>ch;
        le--;
        ri--;
        for(int i=le;i<=ri;i++)
            t[i] = ch;
        if(mp[t])
            cout<<"Yes\n";
        else
            cout<<"No\n";
    }
    return 0;
}
/*

4
JOJO
JJOI
OJOO
3
IJOJ
1 4 O
2 2 J
2 4 I


*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...