Submission #1159178

#TimeUsernameProblemLanguageResultExecution timeMemory
1159178brintonCrossing (JOI21_crossing)C++20
26 / 100
7095 ms3968 KiB
#include <bits/stdc++.h> using namespace std; string cross(string a,string b){ int L = a.size(); string ret(L,'.'); for(int i = 0;i < L;i++){ if(a[i] == b[i]){ ret[i] = a[i]; continue; } int J = false,O = false,I = false; if(a[i] == 'J' || b[i] == 'J')J = true; if(a[i] == 'O' || b[i] == 'O')O = true; if(a[i] == 'I' || b[i] == 'I')I = true; if(!J) ret[i] = 'J'; if(!O) ret[i] = 'O'; if(!I) ret[i] = 'I'; } return ret; } int main(){ cin.tie(0); ios_base::sync_with_stdio(0); //start here int N;cin >> N; string a,b,c,ab,ac,bc,abc1,abc2,abc3; cin >> a >> b >> c; ab = cross(a,b),ac = cross(a,c),bc = cross(b,c); abc1 = cross(a,bc),abc2 = cross(ab,c),abc3 = cross(ac,b); // cout << a << endl << b << endl << c << endl << ab << endl << ac << endl << bc << endl; // cout << abc1 << endl << abc2 << endl << abc3 << endl; // set<string> s; // s.insert(a);s.insert(b);s.insert(c);s.insert(ab);s.insert(ac);s.insert(bc); // s.insert(abc1);s.insert(abc2);s.insert(abc3); // for(auto i:s){ // for(auto j:s){ // if(!s.count(cross(i,j))){ // cout << i << "+" << j << "->" << cross(i,j); // } // } // } int Q;cin >> Q; auto chk = [&](string &Ti){ return Ti == a || Ti == b || Ti == c || Ti == ab || Ti == bc || Ti == ac || Ti == abc1 || Ti == abc2 || Ti == abc3; }; string T;cin >> T; // cout << T << endl; cout << (chk(T)?"Yes\n":"No\n"); while(Q--){ int l,r;char c; cin >> l >> r >> c; l--;r--; for(int i = l;i <= r;i++){ T[i] = c; } // cout << T << endl; cout << (chk(T)?"Yes\n":"No\n"); } }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...