Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.06.2013, 13:16   #1
lenka91
Пользователь
 
Регистрация: 02.06.2013
Сообщений: 17
По умолчанию о ранце(С/С++)

Есть задача. В ранец с заданным максимально переносимым весом складываются предметы. каждый предмет имеет два параметра: вес и стоимость.
надо сложить предметы в рюкзак так, чтобы их суммарная стоимость была максимальной, а их общий вес не превысил заданный.
Я нашла в сети рабочий код:

Код:
#include "stdafx.h"
#include <iostream>
#include <vector>
#include <limits>
 
using namespace std;
 
int _tmain(int argc, _TCHAR* argv[]){         
    vector <int> ranec(1001, -INT_MAX);
    ranec[0] = 0;
    int n, q;
    cin >> n >> q;
    for (int i = 0; i < n; i++){
        int w, c;
        cin >> w >> c;
        for (int j = q - w; j >= 0; j--){
            if (ranec[j] != -INT_MAX){
                ranec[j + w] = max(ranec[j + w], ranec[j] + c);
            }
        }
    }
    int ans = 0;
    for (int j = 0; j <= q; j++){
            ans = max(ranec[j], ans);
    }
    cout << ans;
    return 0;
}
однако не могу разобраться в том, что происходит в этих строчках:

Код:
 for (int j = q - w; j >= 0; j--){
            if (ranec[j] != -INT_MAX){
                ranec[j + w] = max(ranec[j + w], ranec[j] + c);
Не могли бы вы мне объяснить, каков алгоритм этого кода?
lenka91 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обратная задача о ранце (ДП) El studentos Общие вопросы C/C++ 0 14.05.2013 07:04
Загрузка оборудования(вариант "Задачи о ранце") matteo Общие вопросы C/C++ 1 11.03.2011 11:49
Задача о ранце Natysya Общие вопросы C/C++ 28 16.02.2011 18:03
О ранце fkorto Помощь студентам 3 28.04.2010 17:23
Задача о ранце werder_ua Помощь студентам 8 23.11.2009 13:50