#include <bits/stdc++.h>
using namespace std;
const int N=6e5+1;
#define ll long long
vector<int> d;
int cur=0;
string quary(string a,string b){
vector<int> u,v;
u.resize(a.size());
v.resize(b.size());
d.resize(b.size());
int n=a.size();
for(int i=0;i<n;++i){
u[i]=a[i]-'a';
v[i]=b[i]-'a';
d[i]=(a[i]-b[i]+26)%26;
}
ll g=d[n-1];
for(int i=1;i<n;++i){
if(i%2==1){
cur+=d[i];
}
else{
cur-=d[i];
}
}
for(int i=n-2;i>=1;--i){
g=(d[i]-g+26)%26;
}
if(g==d[0]){
return "da";
}
return "ne";
}
int main() {
ios_base::sync_with_stdio(NULL);
cin.tie(NULL);
cout.tie(NULL);
int n,q;
cin>>n>>q;
string a,b;
cin>>a>>b;
cout<<quary(a,b)<<'\n';
while(q--){
int p;char c;
cin>>p>>c;
a[p-1]=c;
if(p!=1){
if((p-1)%2==1){
cur-=d[(p-1)];
}
else{
cur+=d[(p-1)];
}
}
int e=c-'a';
int f=b[p-1]-'a';
d[(p-1)]=(e-f+26)%26;
if(p!=1){
if((p-1)%2==0){
cur-=d[(p-1)];
}
else{
cur+=d[(p-1)];
}
}
if((cur+26000000)%26==d[0]){
cout<<"da"<<'\n';
}
else{
cout<<"ne"<<'\n';
}
}
return 0;
}
| # | 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... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |
| # | Verdict | Execution time | Memory | Grader output |
|---|
| Fetching results... |