会员
周边
众包
新闻
博问
闪存
赞助商
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
hibernate3例子
博客园
首页
新随笔
联系
订阅
管理
最长公共子序列LCS
//LCS算法,最长公共子序列 来自《算法导论》
#include<iostream> #include<cstdlib> #include<cmath> #define N 105 char s[N+1][N+1]; using namespace std; int LCS( const char*s1,const char*s2){ int m = strlen(s1); int n = strlen(s2); int i,j; s[0][0]=0; for( i = 0;i <= m;i++){ s[i][0]=0; } for( j = 0;j <= n;j++){ s[0][j]=0; } for( i = 1;i <= m;i++){ for( j = 1;j <= n;j++){ if(s1[i]==s2[j]){ s[i][j]=s[i-1][j-1]+1; } else if(s[i-1][j]>s[i][j-1]){ s[i][j]=s[i-1][j]; } else { s[i][j]=s[i][j-1]; } } } return s[m][n]; } int main(){ char s1[N],s2[N]; while( cin >> s1 >> s2){ cout << LCS(s1,s2) << endl; } system("pause"); }
posted @
2011-11-24 12:24
hibernate3例子
阅读(
238
) 评论(
0
)
编辑
收藏
举报
刷新页面
返回顶部
公告