记录编号 161302 评测结果 AAAAAAAAAA
题目名称 最长公共子序列 最终得分 100
用户昵称 Gravatarforever 是否通过 通过
代码语言 C++ 运行时间 0.663 s
提交时间 2015-05-04 15:41:55 内存使用 95.83 MiB
显示代码纯文本
#include<iostream>
#include<cstdlib>
#include<cstdio>
using namespace std;
string s1,s2;
int f[5004][5004];
int main()
{  freopen("lcslength.in","r",stdin);
	freopen("lcslength.out","w",stdout);
	cin>>s1>>s2;
	s1=s1.substr(0,s1.length()-1);
	s2=s2.substr(0,s2.length()-1);
	s1='.'+s1;
	s2='.'+s2;
	//cout<<s1.length()<<" "<<s2.length()<<endl;
	//cout<<s1<<" "<<s2<<endl;
	for(int i=1;i<=s1.length();++i)
	{
		for(int j=1;j<=s2.length();++j)
		{
           if(s1[i]==s2[j])
              f[i][j]=f[i-1][j-1]+1;
           else
			 f[i][j]=max(f[i-1][j],f[i][j-1]);
		}
	}
	cout<<f[s1.length()][s2.length()]-1;
	//system("pause");
}