没好好审题真的很不应该;
判断子序列的应该也看字母的顺序,不能只看字母的个数
题解:
#include <iostream>
#include <string>
using namespace std;
int main()
{
int n,m;
string s,l;
cin >> n >> s >> m >> l;
for(int i=0;i<s.size();i++) if('A'<=s[i]&&s[i]<='Z') s[i]+=32;
for(int i=0;i<l.size();i++) if('A'<=l[i]&&l[i]<='Z') l[i]+=32;
int ans=0;
for(int i=0;i<n;i++){
if(s[i]==l[ans]) ans++;
}
if(ans==m) cout << "YES";
else cout << "NO";
}