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

Задача о рюкзаке (тема: генерация всех подмножеств n по k) кому надо - C++

Восстановить пароль Регистрация
 
renme1
0 / 0 / 0
Регистрация: 25.09.2013
Сообщений: 3
16.10.2013, 10:31     Задача о рюкзаке (тема: генерация всех подмножеств n по k) кому надо #1
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
25
26
27
28
29
30
31
32
33
34
35
36
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
using namespace std;
void main()
{
    freopen("input.txt","r",stdin);
    freopen("output.txt","w",stdout);
    int *M = new int[100000000];
    int *S = new int[100000000];
        __int64 w, p;
        __int64 i, j, n = 2;
        __int64 Current = 0, Max = 0, Check = 0;
    cin >> w >> p;
 
    for(i = 0; i < w; i++)
        cin >> M[i] >> S[i];
 
    for(i = 1; i <= w; i++)
        n *= 2;
    for(i = 0; i < n; i++)
    {
        for(j = 0; j < w; j++)
        if(i & (1 << j))
        {
            Current += S[j];
            Check += M[j];
        }
        if(Check <= p && Current > Max)
        Max = Current;
        Current = 0;
        Check = 0;
    }
cout << Max;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
16.10.2013, 10:31     Задача о рюкзаке (тема: генерация всех подмножеств n по k) кому надо
Посмотрите здесь:

C++ Задача о рюкзаке
C++ надо разобрать программу.очень надо. тема Классы
Задача о сумме подмножеств C++
C++ Задача о рюкзаке
C++ Задача о рюкзаке
C++ Задача о рюкзаке 0-1
Генерация всех подмножеств данного множества C++
C++ Задача о сумме подмножеств

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 14:25. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru