lcs,用gets读入
#include<stdio.h>
#include<string.h>
#include<math.h>
#include<algorithm>
#include<iostream>
using namespace std;
int main()
{
int i,j,n1,n2,dp[110][110],cas=0;
char a[110],b[110];
while(gets(a)&&a[0]!='#')
{
gets(b);
n1=strlen(a);
n2=strlen(b);
memset(dp,0,sizeof(dp));
for(i=1;i<=n1;i++)
for(j=1;j<=n2;j++)
{
if(a[i-1]==b[j-1]) dp[i][j]=dp[i-1][j-1]+1;
else dp[i][j]=max(dp[i-1][j],dp[i][j-1]);
}
printf("Case #%d: you can visit at most %d cities.\n",++cas,dp[n1][n2]);
}
return 0;
}