比赛 动态规划练习2 评测结果 C
题目名称 最长公共子序列 最终得分 0
用户昵称 Regnig Etalsnart 运行时间 0.000 s
代码语言 C++ 内存使用 0.00 MiB
提交时间 2017-03-28 20:38:01
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#define syy myson
using namespace std;
const int maxx=5100;
int l,ans=0,f[maxx][maxx]={0},la,lb,i=1,j;
char fuck,a[maxx],b[maxx];
int max(int a,int b)
{
	if(a>b)return a;
	return b;
}
inline input()
{
	cin>>a>>b;
}
inline work()
{
	la=strlen(a);lb=strlen(b);
	a[la-1]=' ';b[lb-1]=' ';
	for(i=0;i<la;i++)
	  for(j=0;j<lb;j++)
	  {
	  	if(a[i]==b[j])
     	  f[i][j]=f[i-1][j-1]+1;
		else
	  	  f[i][j]=max(f[i-1][j],f[i][j-1]);
	  }
	ans=f[la-1][lb-1];
}
inline output()
{
	printf("%d",ans);
}
int Main()
{
	//freopen("lcslength.in","r",stdin);freopen("lcslength.out","w",stdout);
	ios::sync_with_stdio(false);
	input();
	work();
	output();
	return 0;
}
int main(){;};
int syy=Main();