#include<bits/stdc++.h> using namespace std; char dp[2000][2000]; string a,b; int main() { cin>>a>>b; for(int x=0;x<=a.size()-1;x++) { for(int y=0;y<=b.size()-1;y++) { if(x==0 or y==0) { dp[x][y]=0; } if(x>0 and y>0) { if(a[x]!=b[y]) dp[x][y]=max(dp[x-1][y],dp[x][y-1]); else dp[x][y]=dp[x-1][y-1]+1; }
}
}
cout<<dp[a.size()][b.size()];
return 0;
}
共 1 条回复
试试这个代码