![]() |
Модераторы: Alx, Fixin |
![]() ![]() ![]() |
|
IvanB |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: нет Всего: 5 |
Задачка такая:
1) Проверить, можно ли заполнить прямоугольник m*n квадратами в количестве k (стороны прямоугольника и квадратов - натуральные числа). 2) Найти наименьшее число квадратов, которыми можно заполнить данный прямоугольник. Перебором делать - очевидно, но программа будет долго работать... А как ещё можно, пока не знаю. P.S. Пишу её на VB, хотя и на других языках понять смогу... Это сообщение отредактировал(а) IvanB - 12.12.2005, 12:29 --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
Snowy |
|
||||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
где x - сторона квадрата. k - сколько квадратов влезет.
Наименьшее всегда - 0. Не ошибешься. |
||||
|
|||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 2 Всего: 454 |
Рекурсией. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: нет Всего: 484 |
Опять задача коммивояжера. Это в случае, если квадраты разные. В алгоритмах Coriolis не очень давно поднимал похожую. Только у него были прямоугольники и их нужно было вертеть. |
|||
|
||||
Akina |
|
|||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 2 Всего: 454 |
Snowy
Так ведь каждый думает, что это у него эксклюзивная задача, все остальные дурью маются, а поиск по конфе - это для накрутки хинтов и трафика. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
|||
|
||||
IvanB |
|
||||||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: нет Всего: 5 |
Рекрсия и перебор в данном случае - одно и то же... Иначе переменное (зависящее от количества квадратов) число циклов задать не выйдет
Наименьшее натуральное.
Теперь буду разбираться с задачей о рюкзаке.... Добавлено @ 13:31
Не... это не то... мне заполнить нужно, а не найти максимальное число квадратов данного размера, которое в него влезет. (Кстати, для примера нахождения минимального заполнения можно взять прямоугольник 5*6 --------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
||||||||
|
|||||||||
Akina |
|
||||
Советчик ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 20581 Регистрация: 8.4.2004 Где: Зеленоград Репутация: 2 Всего: 454 |
как все запущено...
нету в рекурсии циклов, НЕТУ! есть условие окончания погружения, включая отсечение. Поэтому рекурсия будет в разы быстрее, особенно если оптимизировать выбор очередного варианта для погружения, что в данном случае элементарно - не больше меньшего. -------------------- О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума. |
||||
|
|||||
IvanB |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 155 Регистрация: 23.5.2005 Где: Irkutsk Репутация: нет Всего: 5 |
Сорри... чушь сморозил...
--------------------
Закон отладки: Каждая последняя ошибка является предпоследней. |
|||
|
||||
![]() ![]() ![]() |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Интересные и занимательные задачи по программированию | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |