Submission #1159161

#TimeUsernameProblemLanguageResultExecution timeMemory
1159161brintonCrossing (JOI21_crossing)C++20
3 / 100
7093 ms3072 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,abc; cin >> a >> b >> c; ab = cross(a,b),ac = cross(a,c),bc = cross(b,c); abc = cross(a,bc); int Q;cin >> Q; auto chk = [&](string &Ti){ return Ti == a || Ti == b || Ti == c || Ti == ab || Ti == bc || Ti == ac || Ti == abc; }; 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...