#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 time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |