为何RE
查看原帖
为何RE
1062532
MinLand楼主2024/11/18 20:58
#include<iostream>
#include<algorithm>
#include<cstring>
using namespace std;
using ll =long long;

namespace awa {
	const int N=50+10;
	const int INF=114514;
	int n;
	char a[N];
	int f[N][N];

	void init() {
		char c;
		while(cin>>c)
			a[++n]=c;

		for(int i=1; i<=n; i++)
			for(int j=1; j<=n; j++)
				f[i][j]=INF;
	}

	void solve() {
		for(int i=1; i<=n; i++)f[i][i]=1;
		for(int len=2; len<=n; len++) {
			for(int i=1; i<=n; i++) {
				int j=i+len-1;
				for(int k=i; k<j; k++) {
					bool flag=0;
					if(a[k]==a[j]) flag=1;
					f[i][j]=min(f[i][k]+f[k+1][j]+(flag? -1:0),f[i][j]);
				}
			}
		}
		cout<<f[1][n];
	}
}
int main() {
	ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
	awa::init();
	awa::solve();
	return 0;
}

目前已知将N改大可以AC,但是为什么。

2024/11/18 20:58
加载中...