UVA-10192-Vacation

来源:互联网 发布:营销软件 编辑:程序博客网 时间:2024/05/05 16:19

这个题同样是求LCS,我用的n^2的方法,

代码:

#include<cstdio>#include<cstring>#include<iostream>using namespace std;const int maxn=110;char stra[maxn],strb[maxn];int dp[maxn][maxn];int LCS(){    memset(dp,0,sizeof(dp));    int lena=strlen(stra);    int lenb=strlen(strb);    for(int i=0;i<lena;i++)for(int j=0;j<lenb;j++){     if(stra[i]==strb[j]) dp[i+1][j+1]=dp[i][j]+1;     else dp[i+1][j+1]=max(dp[i][j+1],dp[i+1][j]);}    return dp[lena][lenb];}int main(){    int cas=1;    while(gets(stra)!=NULL)    {if(stra[0]=='#')    break;gets(strb);printf("Case #%d: you can visit at most %d cities.\n",cas++,LCS());    }    return 0;}


原创粉丝点击