Cod sursa(job #2714467)
Utilizator | Delureanu Ana-Maria A.D.A | Data | 1 martie 2021 20:28:36 |
---|---|---|---|
Problema | PScPld | Scor | 0 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva de probleme | Marime | 0.71 kb |
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream fin("pscpld.in");
ofstream fout("pscpld.out");
char s[30001];
bool d[3001][3001];
int n, nr, st, dr;
int main()
{
fin>>(s+1);
n=strlen(s+1);
for(int i=1; i<=n; i++)
d[i][i]=1;
nr=n;
for(int i=1; i<n; i++)
if(s[i]==s[i+1])
{
d[i][i+1]=1;
nr++;
}
for(int i=3; i<=n; i++)
for(int st=1; st<=n-i+1; st++)
{
int dr=st+i-1;
if( d[st+1][dr-1]==1 && s[st]==s[dr] )
{
d[st][st+i-1]=1;
nr++;
}
}
fout<<nr;
return 0;
}