Ыыыга
Гость
|
|
« : 12-02-2009 11:22 » |
|
:dontknow:кроме тупого перебора, ниче нет
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #1 : 12-02-2009 11:44 » |
|
А что за задача?
|
|
|
Записан
|
|
|
|
Джон
просто
Администратор
Offline
Пол:
|
|
« Ответ #2 : 12-02-2009 11:45 » |
|
Ну так, а в чём проблема? Перебирай. Тупо.
|
|
|
Записан
|
Я вам что? Дурак? По выходным и праздникам на работе работать. По выходным и праздникам я работаю дома. "Just because the language allows you to do something does not mean that it’s the correct thing to do." Trey Nash "Physics is like sex: sure, it may give some practical results, but that's not why we do it." Richard P. Feynman "All science is either physics or stamp collecting." Ernest Rutherford "Wer will, findet Wege, wer nicht will, findet Gründe."
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #3 : 12-02-2009 12:23 » |
|
Ыыыыыы *ушёл тупо перебирать*
зы докатились
|
|
|
Записан
|
|
|
|
Ыыыга
Гость
|
|
« Ответ #4 : 12-02-2009 12:23 » |
|
в том то и дело, что нужен более быстрый алгоритм. перебор не катит
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #5 : 12-02-2009 12:24 » |
|
Ыыыга, ты Ханойскую башню имеешь в виду ?
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #6 : 12-02-2009 12:24 » |
|
А что за задача?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Ыыыга
Гость
|
|
« Ответ #7 : 12-02-2009 12:26 » |
|
да типа башни, только блины нужно на 1 тарелке переворачивать. в итоге нужно их положить по увеличению диаметра
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #8 : 12-02-2009 12:26 » |
|
Ну так, а в чём проблема? Перебирай. Тупо.
Offtopic: Поскольку условие задачи мне неизвестно, а экстрасенсы в отпуске, то ничего не оставалось, как представить себе, что некто копается в стопке блинов и хочет отобрать самые аппетитные быстро-быстро, потому что полный перебор занимает много времени, и могут за этим занятием застукать
Поставлю в угол.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #9 : 12-02-2009 12:27 » |
|
я конечно поиском воспользовался... а вдруг не то?
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #10 : 12-02-2009 12:27 » |
|
с одной тарелкой не получится, надо как минимум 3
|
|
|
Записан
|
|
|
|
Ыыыга
Гость
|
|
« Ответ #11 : 12-02-2009 12:28 » |
|
почему не получится? берешь блины лопаточкой и переворачиваешь и вот так вот лопаточкой маешься, пока пирамидка не получится
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #12 : 12-02-2009 12:29 » |
|
Алексей1153++, ещё как получится. Ыыыга, помимо "нужно на 1 тарелке переворачивать", есть какие-то ограничения? Механизм поворота блинов не раскрыт. В ханойских башнях перемещали по одному элементу. Тут явно не так.
|
|
|
Записан
|
|
|
|
Ыыыга
Гость
|
|
« Ответ #13 : 12-02-2009 12:30 » |
|
нет. просто переворачиваешь блины вверх ногами:)
|
|
|
Записан
|
|
|
|
Ыыыга
Гость
|
|
« Ответ #14 : 12-02-2009 12:31 » |
|
да хотьпо 10 блинов. без разницы. лишь бы уложить их
|
|
|
Записан
|
|
|
|
Алексей++
глобальный и пушистый
Глобальный модератор
Offline
Сообщений: 13
|
|
« Ответ #15 : 12-02-2009 12:31 » |
|
я бы просто съел все блины А потом кучка будет ровная
|
|
|
Записан
|
|
|
|
Ыыыга
Гость
|
|
« Ответ #16 : 12-02-2009 12:32 » |
|
я б тоже съел. тока как мне это преподу объяснять
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #17 : 12-02-2009 12:33 » |
|
А про диаметр блинов всё известно? Если да, самое очевидное напрашивающееся решение - подхватываем самый широкий блин, переворачиваем стопку, чтобы он оказался наверху, потом переворачиваем всё вместе - оп, первый блин внизу. И так 2*n переворотов. На двусвязных списках будет быстро работать.
|
|
|
Записан
|
|
|
|
Ыыыга
Гость
|
|
« Ответ #18 : 12-02-2009 12:34 » |
|
1-й кто нашел оптимальный способ это Билл
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #19 : 12-02-2009 12:34 » |
|
Offtopic: про Билли История, рассказанная небезызвестным проф. Пападимитриу.
Когда Пападимитриу только защитился и приступил к преподавательской деятельности в Гарварде, он задал студентам задачку, которая казалась ему не особо сложной, но тем не менее сразу ему не далась. И пообещал тому, кто ее решит, поставить по своему курсу A (5 по-нашему). Задачка (ныне известная как pancake flipping problem) такая:
Представьте, что у вас есть стопка из n блинов разного диаметра. Разрешается взять верхнюю "подстопку" из k блинов (k - любое) и перевернуть ее. Требуется за минимальное число таких переворотов отсортировать блины в стопке согласно их диаметру.
Hикакой ответной реакции со стороны студентов не последовало, и только в конце семестра к Пападимитриу подошел студент, который сказал, что не знает, как решить эту задачу, но у него есть кое-какие идеи. После совместного обсуждения эти идеи вылились в статью
W.H.Gates, C.H. Papadimitriou "Bounds for sorting by prefix reversals". - Discrete Mathematics, 27:47-57, 1979. (обзор алгоритма)
Через некоторое время после выхода статьи Пападимитриу позвонил профессор из другого университета и сказал, что он только что познакомился со статьей, она произвела на него сильное впечатление, и он хотел бы пригласить "этого студента" на собеседование на непомнюкакую должность. Пападимитриу ему ответил, что студент к сожалению бросил учебу и организовал компанию Microsoft...
Поставлю в угол.
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Ыыыга
Гость
|
|
« Ответ #20 : 12-02-2009 12:35 » |
|
А про диаметр блинов всё известно? Если да, самое очевидное напрашивающееся решение - подхватываем самый широкий блин, переворачиваем стопку, чтобы он оказался наверху, потом переворачиваем всё вместе - оп, первый блин внизу. И так 2*n переворотов. На двусвязных списках будет быстро работать.
интересно... спасибо попробую. если меня загубят снова зайду
|
|
|
Записан
|
|
|
|
Вад
|
|
« Ответ #21 : 12-02-2009 12:38 » |
|
Ага, точнее, там чуть меньше, чем 2*n будет. Сходил в вики - так не интересно, там тот же метод описан.
|
|
|
Записан
|
|
|
|
Sla
|
|
« Ответ #22 : 12-02-2009 12:39 » |
|
можно взять уже предложенное
|
|
|
Записан
|
Мы все учились понемногу... Чему-нибудь и как-нибудь.
|
|
|
Ыыыга
Гость
|
|
« Ответ #23 : 12-02-2009 12:43 » |
|
|
|
|
Записан
|
|
|
|
Ыыыга
Гость
|
|
« Ответ #24 : 22-04-2009 05:16 » |
|
эт снова я и снова с блинами короче препод сказал, что алгоритм Гейтса ему нафиг не нужен. Он хочет, чтобы я как бы оптимизировал алгоритм полного перебора для этих чертовых блинов, т.е. когда перебор начнет "вставать". К примеру полный перебор может работать и для 100 блинов, если 99 из них уже упорядочены, но этот же алгоритм может встать, допустим, на 5 блинах, если они лежат как попало. Вот такая вот нехорошая штука получается...
|
|
|
Записан
|
|
|
|
Dimka
Деятель
Команда клуба
Offline
Пол:
|
|
« Ответ #25 : 22-04-2009 19:31 » |
|
Похоже, преподаватель хочет видеть решение методом "ветвей и границ".
Рассматривай комбинацию блинов в стопке как одно целое. Для комбинации введи весовой коэффициент близости к решению. Дальше строй дерево перестановок, но по дереву (от перестановки к новой перестановке) спускайся так, чтобы на каждом шаге весовой коэффициент улучшался бы. Переходы между комбинациями ограничены условием задачи (переворачивание верхней подстопки). Рекурсивное решение получится.
|
|
|
Записан
|
Программировать - значит понимать (К. Нюгард) Невывернутое лучше, чем вправленное (М. Аврелий) Многие готовы скорее умереть, чем подумать (Б. Рассел)
|
|
|
|