![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 31.03.2013
Сообщений: 14
|
![]()
Прошу помощи в решении задачи!
Есть ранец, вместимость которого m кг, и есть перечень предметов. У каждого предмета есть два параметра: масса и стоимость. Нужно собрать предметы в рюкзак так, чтобы общая стоимость предметов в рюкзаке была максимальной, но при этом общая масса предметов не превышала вместимость рюкзака. Последний раз редактировалось maxim3535; 31.05.2013 в 15:36. |
![]() |
![]() |
![]() |
#2 |
МегаМодератор
СуперМодератор
Регистрация: 09.11.2010
Сообщений: 7,431
|
![]()
Самым простым способом является перебор всех вариантов взятия предметов и выбора из них наилучшего. Опять же для упрощения, предположим что предметов не больше 32. Запросим от пользователя вместимость, количество предметов и информацию о них (заведем массив, который хранит массу, стоимость, название для наглядности). Полагаем, что наилучший набор 0, т.е. ни одного предмета, цена 0. Затем в цикле от 1 до 1 << count -1 (счетчик типа unsigned int) считаем массу и стоимость набора (счетчик цикла является битовой маской тех предметов, что в данный момент собираются поместить в рюкзак). Если полученная цена больше предыдущей сохраненной, а масса не превышает вместимости, то набор сохраняется в отдельную переменную. После цикла осталось вывести сохраненный набор на экран.
Пишите язык программирования - это форум программистов, а не экстрасенсов. (<= это подпись
![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Задача на строки(язык C) | Obsidian2010 | Помощь студентам | 0 | 18.11.2012 21:11 |
Задача в Matlab (М-язык) | ALUKARD2011 | Помощь студентам | 1 | 19.01.2012 23:11 |
Задача на дивиденды (язык C++) | Negent | Помощь студентам | 1 | 12.08.2010 23:25 |
задача на массив(язык С) | Bella | Помощь студентам | 1 | 17.10.2009 17:44 |
Задача на массив (язык C) | Bella | Помощь студентам | 2 | 08.10.2009 19:50 |