Vijos P1111小胖的水果

来源:互联网 发布:简单点美工软件 编辑:程序博客网 时间:2024/04/28 19:40

入门的LCS题目

不知道为什么我用cin>>a+1不能AC 

还得自己把2个串往后挪一般,汗。。。

/*题意:2个串的长度-2个串的最长公共子序列。*/#include<iostream>#include<cstring>using namespace std;const int MAXN=105;int mymax(int a,int b){if(a>b){return a;}else{return b;}}int main(){char a[MAXN],b[MAXN];while(cin>>a){cin>>b;int dp[MAXN][MAXN]={0};int lena=strlen(a);int lenb=strlen(b);for(int i=lena-1;i>=0;i--){a[i+1]=a[i];}a[lena+1]='\0';for(int i=lenb-1;i>=0;i--){b[i+1]=b[i];}b[lenb+1]='\0';for(int i=1;i<=lena;i++){for(int j=1;j<=lenb;j++){if(a[i]==b[j]){dp[i][j]=dp[i-1][j-1]+1;}else{dp[i][j]=mymax(dp[i-1][j],dp[i][j-1]);}}}cout<<(lena+lenb-dp[lena][lenb])<<endl;}return 0;}


0 0