Ctrl K

Палиндромы из общих букв

Средняя
На доске висят строки tiles из букв-магнитов. Любые два магнита можно поменять местами — внутри одной строки или между разными строками; таких обменов разрешено сколько угодно. Длины строк при этом не меняются. Верните наибольшее количество строк, которые после обменов могут одновременно оказаться палиндромами (читаются одинаково слева направо и справа налево).
Пример 1
tiles=['xyx', 'yy', 'xz'] → 2

Всего в строках три буквы x, три буквы y и одна z — это лишь две пары одинаковых букв (одна из x, одна из y). Каждой из трёх строк нужна одна пара, поэтому палиндромами могут стать не больше двух, например «xzx» и «yy».

Пример 2
tiles=['ba', 'ab', 'c'] → 3

Меняем a из первой строки и b из второй: получаем «bb» и «aa», а «c» уже палиндром. Все три строки — палиндромы.

Пример 3
tiles=['pq', 'rs', 'tu'] → 0
Ограничения
  • 1 ≤ len(tiles) ≤ 1000
  • 1 ≤ len(tiles[i]) ≤ 100
  • tiles[i] состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиЗадания с перерывом на остывание СредняяСамые частые запросы СредняяБез одинаковых соседей СредняяМетки вразнобой СредняяВыбор с лимитом по тегам Средняя
загружаем Python…
Вход
tiles=['xyx', 'yy', 'xz']
Ожидается
2

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 98 тестов на сервере, включая скрытые.