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...