Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Построить стену из блоков - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Чтение файла exe на другом компьютере, где нет Visual http://www.cyberforum.ru/cpp-beginners/thread695816.html
У меня Vusial Studio 2008 (rus). Я написал программу. Она работает, все хорошо... Но если только один файл .exe скопировать в другой компьютер, где не установлен Visual, то она не запускается....
C++ Требуется найти минимальную сдачу с N условных единиц Требуется найти минимальную сдачу с N условных единиц. Вам дано число N, далее следует перевод каретки, и следом идут три числа - A, B, C - номиналы монет (через пробел), из которых нужно... http://www.cyberforum.ru/cpp-beginners/thread695809.html
C++ Трансмонировать двумерный массив
1. Задан двумерный массив а.Транспонировать этот массив и найти обратную транспонированную.
Треугольник Паскаля C++
Вот написал я реализацию треугольника паскаля.Но есть 1 интересный момент - при создании массива для него. Вот этот код выводит неправильно #include <iostream> #include <vector> int main() {...
C++ Вопросы сериализации http://www.cyberforum.ru/cpp-beginners/thread695796.html
Ноги здесь: http://www.cyberforum.ru/cpp-beginners/thread433207.html НеСказочник, если вы возьмёте свой код и замените в нём слово class на struct, то увидите, что свойство сохраняется. Сложные...
C++ Матрица Сформировать из некоторой матрицы A(n,n) верхнетреугольную матрицу В(n,n) (все элементы ниже главной диагонали нулевые), нижнетреугольную матрицу С(n,n) (все элементы выше главной диагонали... подробнее

Показать сообщение отдельно
Psilon
Master of Orion
Эксперт .NET
5891 / 4788 / 634
Регистрация: 10.07.2011
Сообщений: 14,406
Записей в блоге: 5
Завершенные тесты: 4
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
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru