Даны натуральное число N и символы S[1],...,S[n].Преобразовать последовательность S[1],...,S[n], добавив к ней наименьшее число символов S[n+1],...,S[m] так, чтобы последовательность S[1],...,S[m] стала палиндромом: S[1]=S[m],S[2]=S[m-1] и т.д.
Федосеев Павел
8.12.2014 1:51
Ты ведь уже пытался решить задачу. Покажи попытки решения.
Цитата(Федосеев Павел @ 7.12.2014 22:51)

Ты ведь уже пытался решить задачу. Покажи попытки решения.
До написания самого кода не дошёл.Изначально пытался логически решить задачу,но в голову так ничего и не пришло.
Федосеев Павел
8.12.2014 2:11
Навскидку приходит такой порядок действий:
1. Берём последний символ исходной последовательности S[n] и перебирая символы от 1 до (n-1) ищем его.
2. Если не нашёлся, то S[n] находится в центре палиндрома и нужно добавить символы от (n-1) до 1 в обратном порядке.
3. Если нашелся, то проверяем гипотезу о том, что символы от S[i] (который равен S[n]) до S[n] - палиндром. Если не палиндром, то продолжаем перебор. Если палиндром, то добавляем символы от (i-1) до 1.
Как-то так.