会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
不是我干的
博客园
首页
新随笔
联系
管理
POJ1458 Common Subsequence LCS问题入门题[DP]
入门题。
#include<iostream> #include<string> #define max(a,b) (a>b?a:b) using namespace std; char s1[500],s2[500]; int n1,n2; int mat[2][500]; int main() { while(scanf("%s%s",s1+1,s2+1)!=EOF) { memset(mat,0,sizeof(mat)); n1=strlen(s1+1); n2=strlen(s2+1); for(int i=1;i<=n1;i++) for(int j=1;j<=n2;j++) { if(s1[i]==s2[j]) { mat[i%2][j]=mat[(i+1)%2][j-1]+1; } else { mat[i%2][j]=max(mat[i%2][j-1],mat[(i+1)%2][j]); } } printf("%d\n",mat[n1%2][n2]); } return 0; }
posted on
2011-11-12 16:31
不是我干的
阅读(
116
) 评论(
0
)
收藏
举报
刷新页面
返回顶部