Slash @ 2018-10-09 23:03:10
#include<cstdio>
#include<iostream>
#include<cmath>
#define maxn 10001
using namespace std;
int n;
long long s[maxn],t[maxn],belong[maxn];
long long dp[maxn+1][maxn+1];//表示S1到Si和t1到tj对应的LCS长度
void solve()
{
for(int i=1;i<=n;i++)
{
for(int j=1;i<=n;j++)
{
if(s[i]==t[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]);
}
}
}
}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
scanf("%d",&s[i]) ;
}
for(int i=1;i<=n;++i)
{
scanf("%d",&t[i]);
}
solve();
printf("%d",dp[n][n]);
return 0;
}
求解求助 为啥输出不了东西
by 龙之吻—水货 @ 2018-10-09 23:08:08
@Slash dalao您这程序RE了啊
for(int j=1;i<=n;j++)
这是什么操作QwQ
by NaCly_Fish @ 2018-10-09 23:09:37
楼上眼尖啊
by NaCly_Fish @ 2018-10-09 23:10:23
死循环了
by 凉白开27du @ 2018-10-10 19:29:44
%楼主
by zongying @ 2018-10-10 19:39:58
习惯就好这家伙就这样没有我在旁边挑刺他的程序真的。。
by Slash @ 2018-10-11 22:12:43
@龙之吻—水货 多谢多谢!!!!!(然而好像仍然只有50分 开始想办法改进喽)
by Slash @ 2018-10-11 22:13:09
@NaCly_Fish 眼尖大佬