Cod sursa(job #2714467)

Utilizator A.D.ADelureanu 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;
}