mid那题知道咋做了,就是动态规划。 int main() {     int q;     cin >> q;     for (int i = 0; i < q; ++i) {         string a, b;         cin >> a >> b;         int n = a.size();         int m = b.size();         vector<vector<bool>>dp(n + 1, vector<bool>(m + 1));         dp[0][0] = 1;         for (int i = 1; i <= n; ++i) {             for (int j = 1; j <= m; ++j) {                 if (a[i-1] == b[j-1] || (a[i - 1] >= 'a&(30185)#39; && a[i - 1] <= 'z&#39;&& a[i - 1] - 'a&(30185)#39; == b[j - 1] - 'A&#39;) ) {                     dp[i][j] = dp[i - 1][j - 1];                 }                 if (a[i - 1] >= 'a&(30185)#39; && a[i - 1] <= 'z&#39;)dp[i][j] = dp[i][j] || dp[i - 1][j];             }         }         if (dp[n][m])cout << "YES";         else cout << "NO";     } }