Submission #1304788

#TimeUsernameProblemLanguageResultExecution timeMemory
1304788the_ZHERCrossing (JOI21_crossing)C++20
3 / 100
762 ms1114112 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define pb push_back mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); const int N=2e5+10; const int inf=1e18; const int mod=1e9+7; struct edge{ int x,y,w; }; string f(string a,string b){ string res=""; for(int i=0;i<a.size();i++){ if(a[i]==b[i]){ res+=a[i]; }else{ int ok=0,ok1=0,ok2=0; if(a[i]=='J'||b[i]=='J'){ ok=1; } if(a[i]=='O'||b[i]=='O'){ ok1=1; } if(a[i]=='I'||b[i]=='I'){ ok2=1; } if(ok==0){ res+='J'; } if(ok1==0){ res+='O'; } if(ok2==0){ res+='I'; } } } return res; } set<string>st; map<string,int>mp; set<string>st1; vector<string>v; vector<string>v1; signed main() { ios_base::sync_with_stdio(NULL); cin.tie(nullptr); int n; cin>>n; string s,s1,s2; cin>>s>>s1>>s2; int q; cin>>q; string t; cin>>t; v.push_back(s); v.push_back(s1); v.push_back(s2); mp[s]=1; mp[s1]=1; mp[s2]=1; for(int i=0;i<v.size();i++){ for(int j=0;j<v.size();j++){ if(v[i]==v[j]){ continue; } string e=f(v[i],v[j]); if(mp[e]==0){ mp[e]=1; v.push_back(e); } } } if(mp[t]==1){ cout<<"Yes\n"; }else{ cout<<"No\n"; } for(int i=1;i<=q;i++){ int l,r; char c; cin>>l>>r>>c; for(int j=l-1;j<r;j++){ t[j]=c; } if(mp[t]==1){ cout<<"Yes\n"; }else{ cout<<"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...