#include<iostream> #include<cstdio> #include<string> #include<cstring> #include<malloc.h> using namespace std; int main() { string s1,s2; cin>>s1>>s2; int max_sum = max(s1.size(),s2.size()); int dp[max_sum + 4][max_sum + 4]; memset(dp,0,sizeof(dp)); for(int i = 1;i <= s1.size();i++) for(int j = 1;j <= s2.size();j++) { if(s1[i - 1] == s2[j - 1]) dp[i][j] = dp[i - 1][j - 1] + 1; else dp[i][j] = max(dp[i][j-1],dp[i-1][j]); } cout<<dp[s1.size()][s2.size()]; }
0.0分
0 人评分
兰顿蚂蚁 (C++代码)浏览:1160 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:863 |
三角形 (C++代码)递归(存在大量重复计算,容易出现时间超限)浏览:836 |
【金明的预算方案】 (C++代码)浏览:997 |
2005年春浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:672 |
三角形 (C语言代码)浏览:965 |
文科生的悲哀 (C语言代码)浏览:1539 |
蚂蚁感冒 (C语言代码)浏览:816 |
剪刀石头布 (C++代码)浏览:1811 |
找出最长的字符串来 (C语言代码)浏览:1840 |