1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code], либо быть опубликованы на нашем PasteBin в режиме вечного хранения.
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!
| DarkWishmaster |
Сообщение
#1
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: 3 |
Привет. Вот задача с олимпиады.
Кладоискатели нашли в одном из замкнутых помещений средневекого замка N золотых слитков различных размеров. Каждый слиток представляем прямоугольный паралелипипед с рамзерами X*Y*Z. Для того чтобы извлечь слитки из замка, кладоискатели должны пробить в каменой стене одно или больше прямоугольных отверстий, которые не должны иметь точек соприкосновения. Слиток можно извлечь через отверстие только в том случае если , если ширина и высота отверстия равны или больше чем ширина и высота одной из прямоугольных граней паралелипипеда. Очевидно, слитки можно переворачивать произвольным образом. Для того что-бы облегчить себе работу, кладоискатели желают что-бы площадь пробиваемых отверстий была наименьшей. Пример: n=3 1 4 4 5 3 2 1 2 2 Минимальная площадь: S=8 Вообще нету никаких идей на счет этой задачи. Может у вас есть? Только не надо сразу код, можно просто алгоритм. 1<=n<=5000; 1<=x,y,z<=10000; время выполнения не должно превышать 3 сек. обьем оперативной памяти не должен превышать 32 мегабайт. Сообщение отредактировано: DarkWishmaster - |
![]() ![]() |
| Lapp |
Сообщение
#2
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Ну вот, выдалась минута..
Добавил чистку на каждом шагу, теперь максимальная конфигурация (заданная случайным образом) считается ровно 3 сек (на моем компе). Думаю, на этом можно пока остановиться - проверить я все равно не могу )). -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
| DarkWishmaster |
Сообщение
#3
|
![]() Бывалый ![]() ![]() ![]() Группа: Пользователи Сообщений: 168 Пол: Мужской Репутация: 3 |
Ну вот, выдалась минута.. Добавил чистку на каждом шагу, теперь максимальная конфигурация (заданная случайным образом) считается ровно 3 сек (на моем компе). Думаю, на этом можно пока остановиться - проверить я все равно не могу )). Сортируем, потом по каким критериям брать слитки? Можно взять слиток с наибольшей площадью, а на нем ставить все остальные менее большие слитки так что-бы всё совпало, потом из чего осталось опять выбираем самый большой слиток и.т |
| Lapp |
Сообщение
#4
|
![]() Уникум ![]() ![]() ![]() ![]() ![]() ![]() ![]() Группа: Пользователи Сообщений: 6 823 Пол: Мужской Реальное имя: Лопáрь (Андрей) Репутация: 159 |
Сортируем, потом по каким критериям брать слитки? Это немного лучше, но все равно ты еще не навел порядок в мыслях.Можно взять слиток с наибольшей площадью, а на нем ставить все остальные менее большие слитки так что-бы всё совпало, потом из чего осталось опять выбираем самый большой слиток и.т Говори точнее. Что и по чему сортируем, что значит авыражение "на нем ставить"? Перед написанием кода весьма желательно достичь полной ясности в алгоритме. И уж конечно, в терминах. Даже если алгоритм не вполне определен, оперировать нужно строгими понятиями. Жду четкого описания. Из того, что ты сказал в предыдущем посте, я мало, что понял. А строить догадки - извини, не тот случай. -------------------- я - ветер, я северный холодный ветер
я час расставанья, я год возвращенья домой |
DarkWishmaster Клад 23.05.2011 3:57
Lapp Вот задача с олимпиады.
С какой, если не секрет? 23.05.2011 13:57
DarkWishmaster
С какой, если не секрет?
Републиканской из Молдо… 23.05.2011 19:21
Lapp Републиканской из Молдовы.Надеюсь, она уже заверши… 24.05.2011 3:04
DarkWishmaster
Надеюсь, она уже завершилась - да?
Задачка хорош… 24.05.2011 16:47
TarasBer Замени 3х2 на 2х3, тогда пролезет в 2х4 24.05.2011 17:21
DarkWishmaster
Замени 3х2 на 2х3, тогда пролезет в 2х4
Както та… 24.05.2011 17:30
Lapp Ну допустим сортируем так чтобы грани были наимень… 25.05.2011 3:16
TarasBer Ну перебрать все слитки хотя бы 1 раз тебе же всё … 24.05.2011 17:53
DarkWishmaster так как нам нужна что бы площадь была наименьшей, … 27.05.2011 14:49
Lapp так как нам нужна что бы площадь была наименьшей, … 27.05.2011 15:43
DarkWishmaster
Это я не понял. Ничего не надо ставить "оди… 27.05.2011 16:55
TarasBer Не имелось в виду, что по одному слитку на дырку. … 27.05.2011 17:05
Lapp Влад, смотри, вот тебе пример.
Есть слитки (макси… 28.05.2011 9:41
DarkWishmaster
Влад, смотри, вот тебе пример.
Есть слитки (макс… 28.05.2011 14:30![]() ![]() |
|
Текстовая версия | 6.11.2025 4:46 |