| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Интересные и занимательные задачи по программированию > Автостоянка |
| Автор: klimskiy 19.6.2005, 20:32 |
| Подскажите как решить такую задачу: автостоянка имеет форму клеточного поля. Одна клетка на границе является выездом с автостоянки. Любой автомобиль занимает 2 соседние клетки (не по диагонали) Написать программу поиска размещения максимального кол-ва автомобилей, такого что любой автомобиль имеет возможность выезда. Автомобиль может выехать, если у его границ есть хотя бы одна свободная клетка (не по диагонали), и перемещаясь по свободным клеткам, он может "добраться" до выезда. Прошу помочь с идеями, алгоритмами и т.д. В принципе я неплохой программист, но еще неопытный (первокурсник). Мне кажется эта задача немного рановата для меня так как мы еще даже недопрошли способы задания графа, а по всей видимости тут без этого не обойтись, и к тому же до методов оптимизации еще учится и учится. ПРошу подать методы решения этой задачи с кратким пояснением (так как эти методы еще не учил, и их названия мне мало помогут). Заранее благодарен! |
| Автор: Fedor 19.6.2005, 20:54 |
| klimskiy А какие ограничения на размер автостоянки? Я просто подумал, может эту задачу полным перебором решить? |
| Автор: klimskiy 19.6.2005, 21:48 |
| ограничение на размеры автостоянки не заданы (ну я думаю в разумных пределах). размер поля задает юзер N*M. Вот так вот. Я тоже так думал, что надо полным перебором (поскольку других способов пока что я не знаю |
| Автор: Fedor 19.6.2005, 22:14 |
| Перемещу-ка я эту тему в другой раздельчик... |
| Автор: klimskiy 19.6.2005, 22:27 |
| Fedor Переместить та ты переместил, а подсказать не подсказал |
| Автор: Fedor 19.6.2005, 23:22 | ||
просто не знаю что сказать... У меня завтра экзамен, я после экзамен приду, подумаю... Интересная на первый взгляд задача. Но вроде графы тут не причем... |
| Автор: Akina 19.6.2005, 23:26 |
| Задачка действительно любопытная... нет, то есть построить заполнение - элементарно, проблема доказать что получен максимум... бум подумать. |
| Автор: dvs 20.6.2005, 01:02 | ||
| Решается просто: 1. Строим граф в виде сетки NxM 2.Строим минимальное стягивающее дерево, но (классические алгоритмы Остовное дерево наименьшей стоимости, алгоритмы Прима и Краскала) 3. От въезда/выезда тянем дорогу... 4. Концы, точнее листья получишегося дерева - места для машин. Интересный момент в задаче - не нужно расстанавливать автомобили, нужно прокладывать дорогу, тогда, по-моему, проще решать. Решение в действии не проверял - не хватает времени, но это должно работать. На листочке получилось! Описание алгоритма(Реализация на Паскале(Делфи)):
|
| Автор: Underdark 28.6.2005, 10:13 | ||
А как насчет того, что автомобиль занимает две клетки? И ещё, в самом деле:
Интересная задачка! Именно такие задачки всегда побуждают к действию (по крайней мере меня) |
| Автор: rsm 28.6.2005, 11:46 |
| Если кто-нибудь ухитрится это расчитать, не сочтите пожалуйста за труд кинуть алгоритмом в приват. Я студент-автомобилист (специальность 150200 "Автомобили и автохозяйство"), на 5-ом курсе в димпломном проекте буду считать нечто подобное (оптимальное проектирование автопредприятия - АТП, автостоянки, заправки, автосервиса и пр.) и пример расчета был бы очень полезен. Кстати теорию графов мы в курсе вышки вообще не изучали, но оптимально проектировать будем. Значит, задачу можно решить каким-то более простым способом. |
| Автор: SeregaPopenko 13.3.2006, 21:58 |
| Решение задачи не такое уж простоё (сам сижу парюсь http://www.g6prog.narod.ru/books.html качайте книгу Окулов "Информатика в задачах" в главе 4 условие а в главе 5 решение, код задачи о95_3. Кто разберётся прокаментируйте или напишите на мыло maugly_man_good@rambler.ru Зарание спасибо! |