Инопланетная рифма

Задача по программированию с проверкой онлайн

Сложность
Средняя
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Строки
Словари и множества

У каждого слова инопланетного языка есть ровно одна ударная буква; часть слова, начиная с неё, — ударный суффикс. Два слова рифмуются, если их ударные суффиксы совпадают. Например, PROL и TARPOL рифмуются, если ударение в обоих падает на O или на L, но не рифмуются при ударении на R.

Дан список различных слов из заглавных латинских букв (длина слова до 50, слов до 1000). Разрешено выбросить любые слова, расставить ударения в оставшихся и разбить их на пары так, чтобы каждое слово рифмовалось только со своим напарником и ни с одним другим выбранным словом. Верните наибольшее возможное число слов, которые удастся разбить на пары (0, если пар нет).

Пример: ["PI", "HI", "WI", "FI"] → 2 (все четыре слова можно срифмовать только по I, поэтому в дело идёт одна пара).


Источник: Coding Competitions Archive, codejam/2019/round_1a/alien_rhyme · © Google LLC · Apache-2.0 · условие переведено и дополнено

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки