|
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
|
|||||||||||
Построить стену из блоков12.11.2012, 21:18. Показов 1618. Ответов 7
Метки нет (Все метки)
Всем привет, интересует в какую сторону думать алгоритм: есть четыре кубика длиной в 1, один длиной в 2 и один длиной в 3. Нужно построить из них стену высотой в 3 и шириной в 3, как то так:
0
|
|||||||||||
| 12.11.2012, 21:18 | |
|
Ответы с готовыми решениями:
7
Пирамиду какой наибольшей высоты можно построить из набора блоков Построить зависимость скорости равномерного кода от длины кодовых блоков при нулевой вероятности ошибок Создать круг разделенный на 6 блоков, в центре логотип, при наведении на один из блоков он увеличивается |
|
Master of Orion
|
||||||
| 12.11.2012, 21:22 | ||||||
|
NoBodyIsPerfect, очевидно, создать вектор
(3,3,3)T ну а потом вычитаем. Начиная с самого большого блока. из 3 вычитаем 3 получаем 0, получаем вектор (0,3,3)T блоки по 3 кончились, после этого берем блоки по 2. вычитаем получаем. (0,1,3)T Остаются блоки по 1. Аналогично получаем (0,0,3)T И точно также получаем в результате (0,0,0). Если получаем - значит хватило, если не получаем - не хватило.
1
|
||||||
|
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
|
|
| 12.11.2012, 21:37 [ТС] | |
|
а если лишние?
0
|
|
|
Master of Orion
|
|
| 12.11.2012, 21:41 | |
|
NoBodyIsPerfect, ну можно проверить последний элемент массива блоков (самый мелкий), если там 0, значит более крупные точно растащили и все потратили, если не ноль - сами понимаете.
0
|
|
|
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
|
|
| 12.11.2012, 21:45 [ТС] | |
|
забыл написать, еще можно расставить в разном порядке
0
|
|
|
Master of Orion
|
|
| 12.11.2012, 21:46 | |
|
NoBodyIsPerfect, посчитайте возможно это или нет, если возможно, то количество комбинаций всего n!, где n - количество "этажей". Хотя если блоки вертикально тоже можно ставить, то задача сильно усложняется.
0
|
|
|
47 / 30 / 2
Регистрация: 11.06.2011
Сообщений: 206
|
|
| 12.11.2012, 22:25 [ТС] | |
|
можно ставить только горизонтально, про количество этажей не понял
0
|
|
|
Master of Orion
|
|
| 12.11.2012, 22:32 | |
|
NoBodyIsPerfect, ну тогда проверяете на возможность постройки, если есть такая возможность, то количество возможных вариантов (n+k)!, где n - размер вектора, k - количество комбинаций, с помощью которых можно заменить блоки исходной задачи. В данном случае k - самый сложный для подсчета параметр. Алгоритм примерно такой
1) определяем, можно ли построить 2) если можно, смотрим, остались ли лишние блоки 3) если остались, нужно посчитать их количество и количество комбинаций, по замене (то есть у нас например остался 1 блок размером 1, мы любой блок исходной задачи размером 1 можем на него поменять, значит количество комбинаций возрастает и получается равным X, где X - кол-во единичных блоков в полученной стенке. Если же третий пункт не нужен (то есть лишних блоков никогда не остается) то все просто 1) определяем, можно ли построить 2) если можно то cout << "Количество необходимых блоков для постройки : "<< Fac(n) << endl;
1
|
|
| 12.11.2012, 22:32 | |
|
Помогаю со студенческими работами здесь
8
Из Wordpress на стену Вконтакте Запись на стену пользователя Экран во всю стену Зачетка об стену пдыщь! Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
|
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога
Финальные проекты на Си и на C++:
hello-sdl3-c. zip
hello-sdl3-cpp. zip
Результат:
|
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога
MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
|
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд.
Даже если у вас. . .
|
|
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает
монорепозиторий в котором находятся все исходники.
При создании нового решения, мы просто добавляем нужные проекты
и имеем. . .
|
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение:
В этой книге («Подход, основанный на вариантах использования») Ивар утверждает,
что архитектура программного обеспечения — это
структуры,. . .
|
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога
Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
|
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога
Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip
На первой гифке отладочные линии отключены, а на второй включены:. . .
|