1 条题解

  • 0
    @ 2022-12-25 15:34:08
    #include <bits/stdc++.h>
    using namespace std;
    string s, t;
    int dp[205][205]; // s前i个字符与t前j个字符的LCS
    int main()
    {
        ios::sync_with_stdio(false);
        cin.tie(0);
        while (cin >> s >> t)
        {
            for (int i = 0; i <= s.length(); i++)
                for (int j = 0; j <= t.length(); j++)
                    dp[i][j] = 0;
            for (int i = 1; i <= s.length(); i++)
                for (int j = 1; j <= t.length(); j++)
                {
                    // 比较s的第i个字符与t的第j个字符
                    if (s[i - 1] == t[j - 1])
                        dp[i][j] = dp[i - 1][j - 1] + 1;
                    else
                        dp[i][j] = max(dp[i - 1][j], dp[i][j - 1]);
                }
            cout << dp[s.length()][t.length()] << "\n";
        }
        return 0;
    }
    
    • 1

    信息

    ID
    516
    时间
    1000ms
    内存
    128MiB
    难度
    5
    标签
    (无)
    递交数
    48
    已通过
    20
    上传者