353

Solution:

#include <iostream>
#include <string>
#include <string.h>
#include <map>

using namespace std;

map<string,int> mp;


int palin(string s)
{
    int l=s.size()-1;
    for(int i=0;i<s.size()/2;i++)
    {
       if(s[i]!=s[l-i])
       return 0;
    }
    return 1;
}

int main()
{
    string s,str;
    int l,c;

    while(cin>>s)
    {
        l=s.size();
        mp.clear();
        c=0;
        for(int i=0;i<l;i++)
        {
           for(int j=0;j<l;j++)
           {
               str=s.substr(i,l-j);
               if(mp[str]>=1)
               continue;
               if(palin(str))
               {
                  mp[str]=1;
                  c++;
               }
           }
        }
        cout<<"The string "<<"\'"<<s<<"\'"<<" contains "<<c<<" palindromes.\n";

    }

    return 0;
}

 

Leave a Reply

Your email address will not be published. Required fields are marked *