20分求助
查看原帖
20分求助
1094797
Myl100313楼主2024/12/7 12:49

诸位,请看代码。

代码如下:

#include<bits/stdc++.h>
using namespace std;
const int S=114514;
int s1[S+10],s2[S+10];
int n;
int f[5002][5002];
int main()
{
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
      cin>>s1[i];
    for(int i=1;i<=n;i++)
      cin>>s2[i];
    for(int i=1;i<=n;i++)
      for(int j=1;j<=n;j++)
      {
      	f[i][j]=max(f[i][j-1],f[i-1][j]);
      	if(s1[i-1]==s2[j-1])
      	  f[i][j]=f[i-1][j-1]+1;
	  }
    cout<<f[n][n]<<endl;;
    return 0;
}

数组足够大,样例可以过,20分,什么情况?谁能解释一下?谢谢。

2024/12/7 12:49
加载中...