5 / 5 / 0
Регистрация: 25.11.2011
Сообщений: 56
1

Помощь с алгоритмом

02.05.2012, 21:51. Показов 471. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Нужно решить задачу о рюкзаке с возможностью брать любой из n предметов неограниченное количество раз. Нашел работающий алгоритм. Но он выдает только стоимость, а мне нужно чтобы он выдал еще и набор. Помогите пожалуйста.
Вот алгоритм, который нашел

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <vector>
#include <limits>
//wts - массив весов, cost - массив стоимостей предметов, W - вместимость рюкзака
//функция возвращает максимальную стоимость, которую можно набрать(решение задачи о рюкзаке
//с повторениями)
//массив dp собственно реализует динамическое программирование, описанное в статье, как K_w
int knapsack1(const std::vector<int>& wts, const std::vector<int>& cost, int W)
{
        size_t n = wts.size();
        std::vector<int> dp(W + 1);
        dp[0] = 0;
        for (int w = 1; w <= W; w++)
        {
                dp[w] = dp[w-1];
                for (size_t i = 0; i < n; i++)
                {
                        if (wts[i] <= w)
                        {
                                dp[w] = std::max(dp[w], dp[w - wts[i]] + cost[i]);
                        }
                }
        }
        return dp[W];
}
Помогите, плиз, модифицировать алгоритм, чтобы он еще и набор выводил.

Всем спасибо за помощь!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.05.2012, 21:51
Ответы с готовыми решениями:

Помощь с алгоритмом
Начал изучать массивы и тут задание : Найти среди элементов массива значение 2 Я в целом понимаю...

Нужна помощь с алгоритмом построения последовательности
Задан массив целых. Построить из них любую последовательность таким образом, чтобы последняя цифра...

Шифрование алгоритмом моноалфавитной подстановки и Алгоритмом Цезаря
Здравствуйте, помогите исправить код чтобы выводилось одинаково зашифрованное сообщение, и методом...

С алгоритмом
Задан одномерный числовой массив MT(4,5) найти минимальное

0
02.05.2012, 21:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.05.2012, 21:51
Помогаю со студенческими работами здесь

Помогите с алгоритмом
Даны координаты вершин двух трапеций. нужно проверить вложена ли одна трапеция в другую ....

Задача с алгоритмом
Добрый день всем. Просьба помочь разобраться. Имеется часть кода: c:= 0 A:=B while A &lt;&gt;0 do...

Помогите с алгоритмом
Всем доброго времени суток.У меня есть проблема со следующим заданием: Дано натуральное число m....

Помогите с алгоритмом
Вот такая задача &quot;Определить вид треугольника (равносторонний, равнобедренный, разносторонний) по...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru