Cod sursa(job #1486402)

Utilizator jordasIordache Andrei Alexandru jordas Data 14 septembrie 2015 20:01:51
Problema PScPld Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>
#include <cstring>
#define nMax 1000000

using namespace std;

 ifstream x ("pscpld.in");
 ofstream y ("pscpld.out");

 int n,nr;
 char a[nMax];

 void check_for_palindrom(int l, int r)
 {
     nr++;
     l--;
     r++;

     if(a[l]==a[r])
        check_for_palindrom(l,r);
 }

int main()
{
    int i;

    x>>a;

    nr=n=strlen(a);


    for(i=1;i<n;i++)
        if(a[i]==a[i-1])
            check_for_palindrom(i-1,i);

    for(i=1;i<n-1;i++)
        if(a[i-1]==a[i+1])
            check_for_palindrom(i-1,i+1);

    y<<nr<<'\n';

    return 0;
}