Работа с массивом, Срочно нужна помощь в решении задачи!!!! |
1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
Работа с массивом, Срочно нужна помощь в решении задачи!!!! |
ds2207 |
Сообщение
#1
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Дима Репутация: 0 |
Даны натуральное число 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] и т.д.
|
Федосеев Павел |
Сообщение
#2
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Ты ведь уже пытался решить задачу. Покажи попытки решения.
|
ds2207 |
Сообщение
#3
|
Новичок Группа: Пользователи Сообщений: 10 Пол: Мужской Реальное имя: Дима Репутация: 0 |
|
Федосеев Павел |
Сообщение
#4
|
Знаток Группа: Пользователи Сообщений: 481 Пол: Мужской Реальное имя: Федосеев Павел Репутация: 9 |
Навскидку приходит такой порядок действий:
1. Берём последний символ исходной последовательности S[n] и перебирая символы от 1 до (n-1) ищем его. 2. Если не нашёлся, то S[n] находится в центре палиндрома и нужно добавить символы от (n-1) до 1 в обратном порядке. 3. Если нашелся, то проверяем гипотезу о том, что символы от S[i] (который равен S[n]) до S[n] - палиндром. Если не палиндром, то продолжаем перебор. Если палиндром, то добавляем символы от (i-1) до 1. Как-то так. |
Текстовая версия | 4.05.2024 11:39 |