BT biến đổi xâu c++


mọi người cho e hỏi bài này với ạ, ý tưởng của em là sẽ check từng kí tự của xâu B xem có xuất hiện theo đúng thứ tự trong xâu A không, sẽ check những phần tử còn lại trong xâu A xem có là chữ in thường hết không, nếu thỏa mãn cả 2 thì sẽ biến đổi được nhưng submit thì lại sai nên chắc logic của e đã sai, đây là code của em ạ
bien doi xau text code | WTOOLS

#include<iostream>
using namespace std;
int main(){
    int Q;
    cin>>Q;
    while (Q){
    string a;
    string b;
    cin>>a;
    cin>>b;
    int tmpIndex=-1;
    int cnt=0;
    for (int i=0;i<b.length();i++){
        for (int j=0;j<a.length();j++){
            if (b[i]==a[j]||b[i]==a[j]-32){
                if (j>tmpIndex){
                cout<<a[j]<<" ";
                a[j]='0';
                cnt++;
                tmpIndex=j;
                break;
                }
                
            }
        }
    }
    int cnt1=0;
    if (cnt==b.length()){
        for (int i=0;i<a.length();i++){
            if (a[i]!='0'&&a[i]>='a'&&a[i]<='z'){
                cnt1++;
            }
        }
        if (cnt1==a.length()-b.length()){
            cout<<"YES"<<endl;
        }
        else cout<<"NO"<<endl;
    }
    else cout<<"NO"<<endl;
    Q--;
    }
    return 0;
}

Đọc sơ qua thì có vẻ như code của bạn sẽ bị sai với input:

1
abcAbc
AB
2 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?