|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
13.11.2009, 14:04 | #1 |
Пользователь
Регистрация: 25.11.2008
Сообщений: 53
|
Слова (Паскаль)
Первое слово необходимо преобразовать во второе, используя наименьшее количество следующих действий:
1.удалений символа; 2.замен символа на любой другой. Ваша программа должна запросить исходное слово (до 20 символов), которое будет преобразовываться; запросить слово, которое нужно получить; для найденного самого короткого преобразования выполненного по правилам сообщить: число удалений; число замен; для контроля слово, образовавшееся после выполнения всех удалений и слово-результат, или сообщить, что преобразование невозможно. Пример. Исходные данные: корова, свора. Ответ: удалений 1, замен 3, после удаления – коова, итог –свора. |
13.11.2009, 14:09 | #2 |
Особый статус
Участник клуба
Регистрация: 24.11.2008
Сообщений: 1,535
|
Люблю вот такие головоломки — но только с заменами! Удаления плавят мозг.
С нетерпением жду, что выдаст форум. Спасибо за задачу!
Формула 1 (календарь чемпионата-2016): 26.11.2016 15:55 — Абу-Даби: http://ru.wikipedia.org/wiki/Гран-при_Абу-Даби — (квалификация)! Эфир: http://lion-tv.com/28-match-tv.html
|
13.11.2009, 14:10 | #3 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Наработки? Пока скажу вещи, которые понятны всем - невозможно надо выводить, если в первом слове меньше букв, чем во втором. Если букв поровну, то считать число различий. По поводу удаления букв - есть код или хотя бы алгоритмические идеи, или, как всегда, все надо делать юзерам форума?
З.Ы.В чем, собственно, головоломка? У меня на алгоритмическое решение ушло 15 секунд, так как сдесь не надо никаких особенных "уловок". Естественно, если думать над решением, которое будет работать для слов из 10000 символов, то надо юзать спецалгоритмы или "мощную логику". А сдесь ничего такого не надо. Последний раз редактировалось LeBron; 13.11.2009 в 14:15. |
13.11.2009, 14:12 | #4 |
Пользователь
Регистрация: 25.11.2008
Сообщений: 53
|
LeBron, в том и дело, что пока что мыслей нет....хотелось бы какую-либо наводку узнать...
|
13.11.2009, 14:18 | #5 | |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Цитата:
Можно и оптимальнее, но не вижу смысла. |
|
13.11.2009, 14:25 | #6 |
Пользователь
Регистрация: 25.11.2008
Сообщений: 53
|
ну по сути нужно сначала запросить два слова(строки длиной <20).
Далее сравнить их длины...как сказано выше... и далее входить в цикл сравнения 2х слов, если это возможно. а вот именно с заменами и удалениями проблемы... |
13.11.2009, 14:32 | #7 |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Начало верное. Вы растете в моих глазах, даже приятно помогать такому человеку О каком цикле идет речь? Имеете ввиду посимвольное сравнение строк для подсчета количества различий? По поводу замен и удалений - никто фактически и не просит их делать, главное - подсчитать количество. Для полного перебора заводим дополнительное хранилище на лучший "образец после удаления", если у нас получился вариант с лучшим ответом, чем был раньше - просто меняем "образец" в хранилище.
|
13.11.2009, 14:37 | #8 |
Пользователь
Регистрация: 25.11.2008
Сообщений: 53
|
Да, я хочу сосчитать различия...
Ещё у меня вопрос по поводу наименьшего количества действий... Как бы это более оптимально выразить? |
13.11.2009, 14:40 | #9 | |
Форумчанин
Регистрация: 10.10.2009
Сообщений: 680
|
Цитата:
Код:
Последний раз редактировалось LeBron; 13.11.2009 в 14:46. |
|
13.11.2009, 14:45 | #10 |
Пользователь
Регистрация: 25.11.2008
Сообщений: 53
|
LeBron, спасибо)) сейчас ещё подумаю и отпишусь..
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
СИ. Удалить слова, которые содержат все повторяющиеся буквы первого слова | nick23 | Помощь студентам | 7 | 01.11.2009 14:47 |
Как удалить текст до слова, потом от слова ? | littlecoder | Общие вопросы Delphi | 7 | 29.12.2008 00:57 |
Перенести в новую строку только те слова, которые разделены одним пробелом. задача на паскаль | SashaPRO | Паскаль, Turbo Pascal, PascalABC.NET | 1 | 22.12.2008 20:01 |
Выделить русские слова скобками(паскаль) | gred | Помощь студентам | 8 | 09.05.2008 19:25 |
Реализовать возможность автоматического исправления слова "грамматика". Паскаль | Den | Помощь студентам | 6 | 04.06.2007 10:48 |