Палиндром – это строка, которая одинаково читается как слева направо, так и справа налево.
Дан набор из n строк (1 ≤ n ≤ 105). Найдите среди них такие пары, которые при конкатенации дают палиндром. Более формально, найдите все пары (i, j) такие, что i ≠ j и строка si+sj является палиндромом.
Выведите все упорядоченные пары индексов (нумерация с единицы).
Формат ввода В первой строке дано целое число n (1 ≤ n ≤ 100 000) — количество строк.
Далее в n строках записано по одному слову. Длина каждого слова от 1 до 10. Слова состоят из маленьких букв английского алфавита.
Пример 1.
Ввод:
4
a
abbaa
bba
abb
Вывод:
1 2
1 3
2 3
3 4
4 1
4 3
Как вычислять палиндром мне ясно, а как ввод данных выполнить в питоне? Не знаю, как правильно начать?
Может подскажет кто?
for _ in range(n): lst.append(input())Однако для решения задачи с данными ограничениями простого перебора будет маловато, нужен эффективный алгоритм. Впрочем, сначала сделайте по-простому, чтобы работало. – MBo Feb 25 '24 at 04:16