![]() |
Модераторы: Poseidon |
![]() ![]() ![]() |
|
Veina |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
В текстовом файле записаны названия некоторых предметов, а так же их веса и ценности. При заданном ограничении на суммарный вес предметов, сформировать набор, имеющий наибольшую совокупную ценность.
Например: задается: мишка_0,3кг_200р. молоко_0,1кг_20р. диван_12кг_5000р. стул_2кг_2000р. кресло_9кг_4000р. парта_7кг_1500р. монитор_20кг_25000р. холодильник_20кг_25000кг. телевизор_17кг_13000р. задается вес не более 50 кг, т. е. сформировать набор не более, чем на 50 кг. из предметов наибольшей ценности. результат должен быть таким: холодильник_20кг_25000р. монитор_4кг_15000р. телевизор_17кг_13000р. итог: 41кг_53000р. помогите, пожалуйста. очень нужна эта задача. |
|||
|
||||
Shadowlord |
|
|||
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 275 Регистрация: 28.11.2006 Репутация: 2 Всего: 5 |
динамическое программирования а именно задачи "о ранце".
Формулировка По данному набору из n предметов стоимостями v1,v2,...,vn и весами w1,w2,...,wn найти поднабор (с учетом того, что можно брать один предмет несколько раз) такой, что его стоимость будет максимальна среди всех поднаборов веса не более W. [править] Решение Обозначим через Kw максимальную стоимость, которую мы можем набрать при весе не более w. Получаем следующее рекуррентное соотношение: * K0 = 0 (при весе не более нуля максимальная стоимость 0) * Kw = max { K_{w-w_i} + v_i | w_i <= w , 1 <= i <= n, где n - размер набора } Использовать рекурсию напрямую нельзя, т.к. появляется большое число перекрывающихся задач и время выполнения может стать экспоненциальным. При использовании динамического программирования(запоминания) мы получаем сложность O(n * W) - псевдо-полиномиальный алгоритм.
http://ru.wikipedia.org/wiki/%D0%97%D0%B0%...%BD%D1%86%D0%B5 |
|||
|
||||
Veina |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
я это уже видела. но я программирования не знаю. и не смогу разобраться. я просто прошу помочь мне. вам же не тяжело. ну помогите, хоть кто-нибудь, очень прошу. пожалуйста.... нужно еще все с файлом связать. помогите.
Это сообщение отредактировал(а) Veina - 12.12.2009, 21:56 |
|||
|
||||
bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 1 Всего: 196 |
Для домашних заданий, курсовых, существует "Центр Помощи".
Тема перенесена! |
|||
|
||||
Veina |
|
|||
Новичок Профиль Группа: Участник Сообщений: 11 Регистрация: 25.11.2009 Репутация: нет Всего: нет |
и еще проблема: выдает ошибку "не удается найти указанный файл"
1>------ Build started: Project: zadacha3, Configuration: Debug Win32 ------ 1>Compiling... 1>zadacha3.cpp 1>c:\documents and settings\марина\мои документы\visual studio 2008\projects\zadacha3\zadacha3.cpp (1) : fatal error C1083: Cannot open include file: 'vector.h': No such file or directory 1>Build log was saved at "file://c:\Documents and Settings\Марина\Мои документы\Visual Studio 2008\Projects\zadacha3\Debug\BuildL og.htm" 1>zadacha3 - 1 error(s), 0 warning(s) ========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ========== только пишет такую нехорошую штуку....((( что делать? помогите разобраться пожалуйста |
|||
|
||||
![]() ![]() ![]() |
Правила форума "Центр помощи" | |
|
ВНИМАНИЕ! Прежде чем создавать темы, или писать сообщения в данный раздел, ознакомьтесь, пожалуйста, с Правилами форума и конкретно этого раздела.
Более подробно с правилами данного раздела Вы можете ознакомится в этой теме. Если Вам помогли и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, Poseidon, Rodman |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Центр помощи | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |