Run ID | 作者 | 问题 | 语言 | 测评结果 | 分数 | 时间 | 内存 | 代码长度 | 提交时间 |
---|---|---|---|---|---|---|---|---|---|
111919 | 沈梓珺 | 最长公共子序列 | C++ | 解答错误 | 10 | 1 MS | 1952 KB | 406 | 2023-11-25 09:08:00 |
#include<iostream> #include<string> #include<algorithm> using namespace std; const int MAXN=5005; string S,T; int F[MAXN][MAXN]; int main(){ cin>>S; cin>>T; int ls=S.length(),lt=T.length(); for(int i=1;i<=ls;i++){ for(int j=1;j<=lt;j++){ F[i][j]=max(F[i-1][j],F[i][j-1]); if(S[i-1]==T[i-1]) F[i][j]=max(F[i][j],F[i-1][j-1]+1); } } cout<<F[ls][lt]<<endl; return 0; }