abcfbc abfcab programming contest abcd mnp样例输出
4 2 0来源 翻译自Southeastern Europe 2003的试题
裸最长公共子序列。我之前眼瘸以为是最长公共上升子序列。scanf读字符串注意一下
【代码】
#include
#include
#include
using namespace std;
int n,m,f[205][205];
char s1[205],s2[205];
int main(){
while(~scanf("%s%s",s1,s2)){
memset(f,0,sizeof(f));
n=strlen(s1);
m=strlen(s2);
for (int i=1;i<=n;++i)
for (int j=1;j<=m;++j)
if (s1[i-1]==s2[j-1])
f[i][j]=f[i-1][j-1]+1;
else f[i][j]=max(f[i-1][j],f[i][j-1]);
printf("%d\n",f[n][m]);
}
}