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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
floke
0 / 0 / 0
Регистрация: 02.05.2012
Сообщений: 4
#1

Нетривиальный прямой перебор - C++

30.05.2012, 00:29. Просмотров 516. Ответов 1
Метки нет (Все метки)

Собстевенно g++, QT.

Даю упрощенную постановку задачи, ибо реальная тяжелая для понимания.

Есть 7 видов гирек разной массы для весов. Веса гирек 0.3 0.6 ... 2.5(возможны любые, не суть). Требуется перебрать всевозможные варианты установки гирек на весы. Общая масса установленных гирек не должна превышать 25 кг, при этом не должна быть менее 22.5. На весах одновременно может находиться несколько гирек одного вида. Каждая гирька при этом имеет цену(условно, чтобы установить гирьку на весы, мы её сначала должны купить, причем цена зависит от последовательности покупки/установки гирьки, что то вроде скидки за каждую последующую покупку). Важна не только общая масса гирек но и последовательность установки(то есть например первой ставим гирьку массой 0.3, второй 0.6 - считаем общую цену за две гирьки, потом ставим третью гирьку - пересчитываем цену и тд). Ещё раз повторюсь, цена за гирьки постоянно меняется и зависит от предыдущих покупок. Необходимо прямым перебором найти всевозможные точки вес/цена.

Всё это дело предполагается занести в map, после чего с шагом массы 0.1 искать максимальное/минимальное значение цены для текущей массы(если такая масса вообще существует, например массы 0.2 на весах быть не может, ибо минимальная гирька весит 0.3).

Вопрос: каким образом можно решить поставленную задачу? Подвох в том, что каждый элемент может быть установлен не 1 раз, те 7 вложенных циклов не прокатит, можно попробовать рекурсию, но как тогда отслеживать варианты???

Может быть есть готовая функция/библиотека(например слышал о функции из STL, которая осуществляет прямой перебор вариантов символов из слова) для подобных задач?

Понимаю, что расчет будет долгим, но требуется именно прямой перебор.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.05.2012, 00:29
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нетривиальный прямой перебор (C++):

Найти и вывести на экран наибольший нетривиальный делитель числа - C++
Пользователь вводит с клавиатуры натуральное число, найти и вывести на экран наибольший нетривиальный (т.е. не равный введённому числу или...

Нетривиальный тривиальный калькулятор - C++
Привет! Ковырясь в OpenJDK разобрался как генерится/исполняется ассемблерный код в рантайме. Решил поделиться увиденным подходом, написал...

Перебор - C++
Hi.мне нужно часть кода в котором перебирает все значение пример у нас 2 банки(на много литров),и 10 л воды.Нужно сделать все возможние...

Перебор - C++
Ребят, помогите решить две задачи. Занимаюсь программированием уже 6 лет. Но тут в ступор встал. 1 задача: есть массив. из него нужно...

Полный перебор - C++
Здравствуйте. Скорее всего, я пришел не по адресу и мне следовало бы задать свой вопрос где-нибудь в разделе алгоритмов, но не суть. Я всё...

перебор значений - C++
Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр.

1
MrGluck
Модератор
Эксперт CЭксперт С++
7490 / 4605 / 691
Регистрация: 29.11.2010
Сообщений: 12,589
30.05.2012, 00:33 #2
Функция из STL - std::next_permutation
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
30.05.2012, 00:33
Привет! Вот еще темы с ответами:

Перебор комбинаций - C++
Здравствуйте! Возникла такая задача. Дан одномерный массив из N цифр,нужно составить все возможные комбинации чисел из этих цифр(числа...

Cделать перебор id-ов - C++
есть ссылка: http//:fafaf.ru/index.php?id=1000 нужно сделать перебор id ов как это замутить? в цикле сделать перебор и...

Перебор чисел - C++
Здравствуйте. Допустим, есть у меня 2 числа (до 1000, например). Как мне перебрать все возможные комбинации произведений этих чисел? ...

Перебор значений - C++
Вывести на экран в возрастающем порядке все трехзначные числа, в десятичной записи которых нет одинаковых цифр.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru