#include <stdio.h>
#include <string.h>
// Проверка, является ли символ буквой.
//На случай, если разделителями будут не только точки и пробелы.
bool bukwa(char asd){
return (asd<='z' and asd>='a')or(asd<='Z' and asd>='A');
}
int main()
{
unsigned state;//Текущее состояние
//532 - сейчас считывается слово
//1007 - сейчас считывается не слово
state=1007; //По умолчанию считывается не слово.
int c=0,i=0; //Счётчик подошедших слов и счётчик символов.
char s[1024], symb;//Буфер для символов и символ для сохранения начального символа.
fgets(s,1024,stdin);
while (true)//В окно эти непонятные проверки
{
if (state==1007){//Если считывается не слово
if (s[i]==0) break;//И попался конец строки - то выйти.
if (!bukwa(s[i])){//Если символ не является буквой
//То продолжать считывать без каких либо действий.
}else{//Если буквой
state=532;//Сменить состояние
symb=s[i];//Запомнить символ
}
}else{//Если считывается слово
if (s[i]==0){//И попался конец строки - то:
if (s[i-1]==symb) c++;//Проверить конец слова
break; //И выйти.
}
if (!bukwa(s[i])){//Если символ не является буквой
if (s[i-1]==symb) c++;//Проверить конец слова
state=1007;//Сменить состояние
}else{//Если буквой
//То ничего не делать
}
}
i++; //В любом случае переключится на следующий символ.
}
printf("%d\n", c);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxzdHJpbmcuaD4KCgoKLy8g0J/RgNC+0LLQtdGA0LrQsCwg0Y/QstC70Y/QtdGC0YHRjyDQu9C4INGB0LjQvNCy0L7QuyDQsdGD0LrQstC+0LkuCi8v0J3QsCDRgdC70YPRh9Cw0LksINC10YHQu9C4INGA0LDQt9C00LXQu9C40YLQtdC70Y/QvNC4INCx0YPQtNGD0YIg0L3QtSDRgtC+0LvRjNC60L4g0YLQvtGH0LrQuCDQuCDQv9GA0L7QsdC10LvRiy4KYm9vbCBidWt3YShjaGFyIGFzZCl7CiAgIHJldHVybiAoYXNkPD0neicgYW5kIGFzZD49J2EnKW9yKGFzZDw9J1onIGFuZCBhc2Q+PSdBJyk7Cn0KCmludCBtYWluKCkKewoKICAgdW5zaWduZWQgc3RhdGU7Ly/QotC10LrRg9GJ0LXQtSDRgdC+0YHRgtC+0Y/QvdC40LUKICAgLy81MzIgLSDRgdC10LnRh9Cw0YEg0YHRh9C40YLRi9Cy0LDQtdGC0YHRjyDRgdC70L7QstC+CiAgIC8vMTAwNyAtINGB0LXQudGH0LDRgSDRgdGH0LjRgtGL0LLQsNC10YLRgdGPINC90LUg0YHQu9C+0LLQvgogICBzdGF0ZT0xMDA3OyAvL9Cf0L4g0YPQvNC+0LvRh9Cw0L3QuNGOINGB0YfQuNGC0YvQstCw0LXRgtGB0Y8g0L3QtSDRgdC70L7QstC+LgoKCiAgIGludCBjPTAsaT0wOyAvL9Ch0YfRkdGC0YfQuNC6INC/0L7QtNC+0YjQtdC00YjQuNGFINGB0LvQvtCyINC4INGB0YfRkdGC0YfQuNC6INGB0LjQvNCy0L7Qu9C+0LIuCiAgIGNoYXIgc1sxMDI0XSwgc3ltYjsvL9CR0YPRhNC10YAg0LTQu9GPINGB0LjQvNCy0L7Qu9C+0LIg0Lgg0YHQuNC80LLQvtC7INC00LvRjyDRgdC+0YXRgNCw0L3QtdC90LjRjyDQvdCw0YfQsNC70YzQvdC+0LPQviDRgdC40LzQstC+0LvQsC4KCiAgIGZnZXRzKHMsMTAyNCxzdGRpbik7CgogICB3aGlsZSAodHJ1ZSkvL9CSINC+0LrQvdC+INGN0YLQuCDQvdC10L/QvtC90Y/RgtC90YvQtSDQv9GA0L7QstC10YDQutC4CiAgIHsKICAgICAgaWYgKHN0YXRlPT0xMDA3KXsvL9CV0YHQu9C4INGB0YfQuNGC0YvQstCw0LXRgtGB0Y8g0L3QtSDRgdC70L7QstC+CiAgICAgICAgIGlmIChzW2ldPT0wKSBicmVhazsvL9CYINC/0L7Qv9Cw0LvRgdGPINC60L7QvdC10YYg0YHRgtGA0L7QutC4IC0g0YLQviDQstGL0LnRgtC4LgoKICAgICAgICAgaWYgKCFidWt3YShzW2ldKSl7Ly/QldGB0LvQuCDRgdC40LzQstC+0Lsg0L3QtSDRj9Cy0LvRj9C10YLRgdGPINCx0YPQutCy0L7QuQogICAgICAgICAgICAvL9Ci0L4g0L/RgNC+0LTQvtC70LbQsNGC0Ywg0YHRh9C40YLRi9Cy0LDRgtGMINCx0LXQtyDQutCw0LrQuNGFINC70LjQsdC+INC00LXQudGB0YLQstC40LkuCiAgICAgICAgIH1lbHNley8v0JXRgdC70Lgg0LHRg9C60LLQvtC5CiAgICAgICAgICAgIHN0YXRlPTUzMjsvL9Ch0LzQtdC90LjRgtGMINGB0L7RgdGC0L7Rj9C90LjQtQogICAgICAgICAgICBzeW1iPXNbaV07Ly/Ql9Cw0L/QvtC80L3QuNGC0Ywg0YHQuNC80LLQvtC7CiAgICAgICAgIH0KCiAgICAgIH1lbHNley8v0JXRgdC70Lgg0YHRh9C40YLRi9Cy0LDQtdGC0YHRjyDRgdC70L7QstC+CiAgICAgICAgIGlmIChzW2ldPT0wKXsvL9CYINC/0L7Qv9Cw0LvRgdGPINC60L7QvdC10YYg0YHRgtGA0L7QutC4IC0g0YLQvjoKICAgICAgICAgICAgaWYgKHNbaS0xXT09c3ltYikgYysrOy8v0J/RgNC+0LLQtdGA0LjRgtGMINC60L7QvdC10YYg0YHQu9C+0LLQsAogICAgICAgICAgICBicmVhazsgLy/QmCDQstGL0LnRgtC4LgogICAgICAgICB9CiAgICAgICAgIGlmICghYnVrd2Eoc1tpXSkpey8v0JXRgdC70Lgg0YHQuNC80LLQvtC7INC90LUg0Y/QstC70Y/QtdGC0YHRjyDQsdGD0LrQstC+0LkKICAgICAgICAgICAgaWYgKHNbaS0xXT09c3ltYikgYysrOy8v0J/RgNC+0LLQtdGA0LjRgtGMINC60L7QvdC10YYg0YHQu9C+0LLQsAogICAgICAgICAgICBzdGF0ZT0xMDA3Oy8v0KHQvNC10L3QuNGC0Ywg0YHQvtGB0YLQvtGP0L3QuNC1CiAgICAgICAgIH1lbHNley8v0JXRgdC70Lgg0LHRg9C60LLQvtC5CiAgICAgICAgICAgIC8v0KLQviDQvdC40YfQtdCz0L4g0L3QtSDQtNC10LvQsNGC0YwKICAgICAgICAgfQogICAgICB9CgogICAgICBpKys7IC8v0JIg0LvRjtCx0L7QvCDRgdC70YPRh9Cw0LUg0L/QtdGA0LXQutC70Y7Rh9C40YLRgdGPINC90LAg0YHQu9C10LTRg9GO0YnQuNC5INGB0LjQvNCy0L7Quy4KICAgfQogICBwcmludGYoIiVkXG4iLCBjKTsKICAgcmV0dXJuIDA7Cn0K