蓝桥杯2023年第十四届省赛真题-更小的数
//区间DP
#include <iostream>
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int N=5e3+10;
int f[N][N];
void solve(){
string s;cin>>s;
int ans=0;
for(int len=2;len<=s.size();len++)
{
for(int l=0;l+len-1<s.size();l++)
{
int r=l+len-1;
if(s[l]>s[r])
f[l][r]=1;
else if(s[l]==s[r]){
f[l][r]=f[l+1][r-1];
}
ans+=f[l][r];
}
}
cout<<ans;
}
signed main(){
ios::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int t;
t=1;
//cin>>t;
while(t--)
solve();
}