求助
查看原帖
求助
1525325
GD_SHENYANG楼主2025/8/30 14:00

6565 分,样例过了

#include<iostream>
#include<string>
#define int long long
using namespace std;
const int N = 1000+5;
int n;
string s;
int f[N][N];

signed main()
{
	cin>>n>>s;
	s = ' '+s;
	
	for(int i=1;i<=n;i++) 
	{
		f[i][i] = 1;
		f[i][i-1] = 1;
	}
	
	int maxn = -5201314;
	for(int len=2;len<=n;len++)
	{
		for(int i=1;i+len-1<=n;i++)
		{
			int j = i+len-1;
			if(s[i]==s[j]) f[i][j] = f[i+1][j-1]+2;
			f[i][j] = max(f[i][j],max(f[i+1][j],f[i][j-1]));
//			cout<<f[i][j]<<' ';
			maxn = max(maxn,f[i][j]);
		}
	}
	
	cout<<maxn;
	return 0;
}
2025/8/30 14:00
加载中...