给定两个字符串\(a\)和\(b\),要求依次输入\(a\)中的字符,并进行以下两种操作:
使得最终输入的字符和\(b\)字符相等。
由于当前的字符不被删除就一定会被选上,因此考虑从后往前遍历\(a\)字符,如果与\(b\)字符相等就选上,否则删除。
int n; string a, b; int main() { int T; cin >> T; while (T -- ) { cin >> a >> b; if (a.size() < b.size()) puts("NO"); else { int i, j; for (i = a.size() - 1, j = b.size() - 1; i >= 0 && j >= 0; i -- ) { if (a[i] == b[j]) j -- ; else i -- ; } if (j >= 0) puts("NO"); else puts("YES"); } } return 0; }