Задача
Из Википедии :
Рекурсивная аббревиатура - это аббревиатура, которая относится к самому себе в выражении, за которым оно стоит.
Ваша цель - проверить, является ли строка рекурсивной аббревиатурой.
- Акроним это первое слово
- Слова не чувствительны к регистру, разделены одним пробелом.
- Данная строка не содержит знаков препинания и апострофа.
- Только первая буква каждого слова может быть частью аббревиатуры.
Вы также должны дать функциональные слова . Для простоты каждое слово можно рассматривать как функциональное слово.
пример
f("RPM Package Manager") => { true, [] }
f("Wine is not an emulator") => { true, ["an"] }
f("GNU is not Unix") => { true, ["is"] }
f("Golf is not an acronym") => { false }
f("X is a valid acronym") => { true, ["is","a","valid","acronym"] }
Вы можете дать полную программу или функцию.
Входная строка может быть взята из STDIN или в качестве аргумента функции.
Выходной результат может быть true / false, 0/1, yes / no ...
Список функциональных слов (любой формат списка допустим) должен быть задан тогда и только тогда, когда это рекурсивная аббревиатура (даже если список пуст) , Вам не нужно сохранять заглавные буквы функциональных слов.
Критерии победы
Это код-гольф , самый короткий код выигрывает.