1 条题解

  • 0
    @ 2025-2-14 21:20:40

    C++ :

    #include <iostream>
    #include <cstdio>
    #include <string>
    #include <algorithm>
    using namespace std;
    int dp[1010][1010];
    int main()
    {
    	//freopen("in.txt", "r", stdin);
    	string a, b;
    	int n;
    	while (cin>>n)
    	{
    	    while (n--)
    	    {
    	        cin>>a>>b;
    	        for (int i=1; i<=a.size(); i++)
    	        {
    	            for (int j=1; j<=b.size(); j++)
    	            {
    	                if (a[i-1]==b[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[a.size()][b.size()]<<endl;
    	    }
    	}
    	return 0;
    }
    
    
    • 1

    信息

    ID
    798
    时间
    3000ms
    内存
    64MiB
    难度
    (无)
    标签
    递交数
    0
    已通过
    0
    上传者