Вступ
Рекурсивний акронім це абревіатура , який містить або ставиться до себе, наприклад:
Fishможе бути рекурсивний акронім Fish is shiny hero, зверніть увагу , як це також містить саму абревіатуру. Інший приклад Hi-> Hi igloo. Або навіть ppcg paints->ppcg paints cool galaxies pouring acid into night time stars
Таким чином, речення є рекурсивним абревіатурою, якщо в перших літерах кожного з слів написано перше слово або слова.
Виклик
Створіть програму, яка містить рядок з 1 або більше слів, розділених пробілом, і виводить рекурсивну абревіатуру або порожній рядок, якщо це неможливо. Це неможливо зробити рекурсивний акронім для рядка , як, наприклад, ppcg elephantтому що ви б почати з взявши pз ppcgподальшим додаванням , що в абревіатурі, а потім взявши eз elephant. Але зараз ми маємо суперечність, оскільки в абревіатурі зараз написано "пе ..", що суперечить "пр ..". Так само і у випадку, наприклад, з hi. Ви б взяли hз hi, але пропозиція закінчилася, і більше немає літер для написання, hiі ми просто залишилися з тим, hщо не відповідаєhi. (Рядок потребує кількості слів, що перевищує або дорівнює кількості букв в абревіатурі)
Введення та вихід не відрізняються від регістру
Обмеження
- Все, що введено у вашу програму, буде дійсними англійськими словами. Але ви також не забудьте вивести дійсні англійські слова (ви можете використовувати базу даних або просто зберегти слово для кожної з 26 букв)
- Застосовуються стандартні лазівки та правила вводу-виводу за замовчуванням
Випробування
hi igloo -> hi
ppcg paints -> (impossible)
ppcg paints cool giraffes -> ppcg
ppcg paints cool galaxies pouring acid into night time stars -> ppcgpaints
ppcg paints cool galaxies pouring acid into night time -> ppcg
ppcg questions professional pool challengers greatly -> (impossible)
I -> I
Оцінка балів
Це код-гольф , тому найменший вихідний код у байтах виграє
ppcg paints cool galaxies pouring acid into night timeбуло б "ppcgpaint", коли воно робиться абревіатурою, але вихід повинен бути, ppcgнавіть якщо це лише часткова відповідність?