/*
Name:
Copyright: DHKHTN - DHQGHN
Author: Nguyen Dinh Nhat
Date: 26/07/10 21:40
Description: COUNTPL https://v...content-available-to-author-only...j.pl/problems/COUNTPL/
*/
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define TI freopen("test.inp","rt",stdin)
#define FOR(i,a,b) for(int i=a;i<=b;i++)
#define FORD(i,a,b) for(int i=a;i>=b;i--)
#define REP(i,n) for(int i=0;i<n;i++)
void COUNTPL ( char a[ ] )
{
int n= strlen ( a) ,i= 0 ,j= n- 1 ,count= 0 ,k= 0 ,l= n- 1 ;
//n: Do dai xau
//i: vi tri hien tai
//j: vi tri j de tim chuoi paalindrome max
//k: biet tam de i tang
//count: dem so chuoi palindrome
while ( i< n)
{
while ( j>= i) //
{
while ( a[ i] ! = a[ j] ) j-- ; // tim vi tri j ma a[i]=a[j]
//kiem tra chuoi bat dau tu i ket thuc o j co phai la chuoi palindrome
k= i+ 1 ;
l= j- 1 ;
while ( a[ k] == a[ l] && k< l) { k++ ; l-- ; }
if ( k== l|| k- l== 1 || i== j) { count++ ; i= j+ 1 ; j= n- 1 ; break ; }
j-- ;
}
}
printf ( "%d\n " ,count) ;
}
//#include <conio.h>
int main ( )
{
// TI;
char a[ 300 ] ;
gets ( a) ;
COUNTPL ( a) ;
// getch ();
return 0 ;
}
LyoKICBOYW1lOgogIENvcHlyaWdodDogREhLSFROIC0gREhRR0hOCiAgQXV0aG9yOiBOZ3V5ZW4gRGluaCBOaGF0CiAgRGF0ZTogMjYvMDcvMTAgMjE6NDAKICBEZXNjcmlwdGlvbjogQ09VTlRQTCBodHRwczovL3YuLi5jb250ZW50LWF2YWlsYWJsZS10by1hdXRob3Itb25seS4uLmoucGwvcHJvYmxlbXMvQ09VTlRQTC8KKi8KCgojaW5jbHVkZSA8c3RkaW8uaD4KCiNpbmNsdWRlIDxzdGRsaWIuaD4KI2luY2x1ZGUgPHN0cmluZy5oPgoKI2RlZmluZSBUSSBmcmVvcGVuKCJ0ZXN0LmlucCIsInJ0IixzdGRpbikKCiNkZWZpbmUgRk9SKGksYSxiKSBmb3IoaW50IGk9YTtpPD1iO2krKykKI2RlZmluZSBGT1JEKGksYSxiKSBmb3IoaW50IGk9YTtpPj1iO2ktLSkKI2RlZmluZSBSRVAoaSxuKSBmb3IoaW50IGk9MDtpPG47aSsrKQoKdm9pZCBDT1VOVFBMIChjaGFyIGFbXSkKewoJaW50IG49c3RybGVuIChhKSxpPTAsaj1uLTEsY291bnQ9MCxrPTAsbD1uLTE7CgkvL246IERvIGRhaSB4YXUKCS8vaTogdmkgdHJpIGhpZW4gdGFpCgkvL2o6IHZpIHRyaSBqIGRlIHRpbSBjaHVvaSBwYWFsaW5kcm9tZSBtYXgKCS8vazogYmlldCB0YW0gZGUgaSB0YW5nCgkvL2NvdW50OiBkZW0gc28gY2h1b2kgcGFsaW5kcm9tZQoJd2hpbGUgKGk8bikKCXsKCQl3aGlsZSAoaj49aSkgLy8KCQl7CgkJCXdoaWxlIChhW2ldIT1hW2pdKSBqLS07IC8vIHRpbSB2aSB0cmkgaiBtYSBhW2ldPWFbal0KCQkJLy9raWVtIHRyYSBjaHVvaSBiYXQgZGF1IHR1IGkga2V0IHRodWMgbyBqIGNvIHBoYWkgbGEgY2h1b2kgcGFsaW5kcm9tZSAKCQkJaz1pKzE7CgkJCWw9ai0xOwoJCQl3aGlsZSAoYVtrXT09YVtsXSYmazxsKXsgaysrOyBsLS07IH0KCQkJaWYgKGs9PWx8fGstbD09MXx8aT09ail7IGNvdW50Kys7IGk9aisxOyBqPW4tMTsgYnJlYWs7fQoJCQlqLS07CgkJfQoJfQoJcHJpbnRmICgiJWRcbiIsY291bnQpOwp9CgovLyNpbmNsdWRlIDxjb25pby5oPgppbnQgbWFpbiAoKQp7Ci8vCVRJOwoJY2hhciBhWzMwMF07CgoJZ2V0cyAoYSk7CglDT1VOVFBMIChhKTsKLy8gICBnZXRjaCAoKTsKICAgIHJldHVybiAwOwp9Cg==
compilation info
prog.cpp: In function ‘int main()’:
prog.cpp:51: warning: ignoring return value of ‘char* gets(char*)’, declared with attribute warn_unused_result
/home/dc5eOn/ccyzQJDh.o: In function `main':
prog.cpp:(.text+0x19e): warning: the `gets' function is dangerous and should not be used.
stdout