H题 #include<bits/stdc++.h> using namespace std; char t[100010],r[100010],tem[100010]; int main(){ cin>>t>>r; bool flag=true; int lent=strlen(t),lenr=strlen(r); for(int i=0;i<lent;i++) tem[i]=t[i]; for(int j=0;j<lent&&flag;j++){ int p=0; while((t[j]==r[p])&&tem[j]!='0'){ tem[j]='0';flag=false; if(t[j+1]==r[p+1]){p++;j++;} } } flag=true; for(int j=lent-1;j>=0&&flag;j--){ int p=lenr-1; while((t[j]==r[p])&&tem[j]!='0'){ tem[j]='0';flag=false; if(t[j-1]==r[p-1]){p--;j--;} } } //for(int i=0;i<lent;i++)cout<<tem[i]; //cout<<endl; flag=true; for(int i=0;i<lent;i++){ if(tem[i]!='0'){flag=false;break;} } if(flag) cout<<"YES"; else cout<<"NO"; return 0; }