//#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define f first
#define s second
#define all(x) x.begin(),x.end()
#define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int dx[4]={0,0,1,-1};
int dy[4]={1,-1,0,0};
void setIO(string s) {
freopen((s + ".in").c_str(), "r", stdin);
freopen((s + ".out").c_str(), "w", stdout);
}
string op(string a,string b){
int sz=(int)a.size();
string c;
for(int i=0;i<sz;i++){
if(a[i]==b[i]){
c+=a[i];
}
else{
for(auto cc:{'J','O','I'}){
if(a[i]!=cc and b[i]!=cc){
c+=cc;
break;
}
}
}
}
return c;
}
int main() {_
int n;
cin>>n;
vector<string> S(3);
for(int i=0;i<3;i++){
cin>>S[i];
}
function<string(int,int)> op=[&](int aa,int bb){
string a=S[aa];
string b=S[bb];
string c;
for(int i=0;i<n;i++){
if(a[i]==b[i]){
c+=a[i];
}
else{
for(auto cc:{'J','O','I'}){
if(a[i]!=cc and b[i]!=cc){
c+=cc;
break;
}
}
}
}
return c;
};
S.push_back(op(0,1));
S.push_back(op(1,2));
S.push_back(op(2,0));
S.push_back(op(3,2));
S.push_back(op(4,0));
S.push_back(op(5,1));
int q;
cin>>q;
function<void(string)> check=[&](string a){
for(auto str:S){
if(a==str){
cout<<"Yes"<<'\n';
return;
}
}
cout<<"No"<<'\n';
return;
};
string T;
cin>>T;
check(T);
for(int i=0;i<q;i++){
int l,r;
char c;
cin>>l>>r>>c;
l--;
r--;
for(int j=l;j<=r;j++){
T[j]=c;
}
check(T);
}
return 0;
}
//maybe its multiset not set
//yeeorz
//diaoborz
Compilation message (stderr)
Main.cpp: In function 'void setIO(std::string)':
Main.cpp:15:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
15 | freopen((s + ".in").c_str(), "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Main.cpp:16:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
16 | freopen((s + ".out").c_str(), "w", stdout);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 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... |