Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Центр помощи > [Pascal/Delphi] Написать программу решения задачи


Автор: vIRcR 15.9.2006, 16:16
 smile Пожалуйста помогите  
В магазине строительных материалов имеется N видов товаров (1 < JV< 20). Для каждого вида товара известны: его название (оно уникально для каждого вида товара), цена за одну единицу товара (за упаковку) в рублях, вес одной упаковки в килограммах и количество упаковок, имеющихся на складе. В магазин на автомобиле приезжает покупатель, который имеет в наличие некоторую сумму денег. Цель этого покупателя - приобрести за минимальную сумму денег максимальное по весу количество товаров, которое он может увести на своем автомобиле, при этом грузоподъемность автомобиля известна и равна W - целое число (1 < W< 100). Задача: предложить покупателю тот список товаров, который удовлетворяет его целям.
Технические требования Входной файл: INPUT.TXT. Выходной файл: OUTPUT.TXT. Ограничение времени: 5 секунд.
Формат входных данных Исходные данные во входном файле записаны в следующем порядке:
•     в первой строке файла записано число - сумма денег, имеющаяся у покупателя;
•     во второй строке файла записано число - грузоподъемность автомобиля;
•     в третьей строке файла записано число N— количество видов товаров, имеющихся в магазине;
•     в следующих N строках - информация о товарах в следующем формате: название товара (30 символов), пробел, цена за упаковку, пробел, вес одной упаковки, пробел, количество упаковок, имеющихся на складе.              *
Предполагается, что данные введены корректно.
Формат выходных данных
Если нельзя подобрать ни одного товара по имеющейся в наличии сумме денег, то в выходном файле должна быть записана строка «К сожалению, ничего Вам предложить не можем». В противном случае программа должна в первую строку выходного файла поместить минимальную сумму денег, которую потратит покупатель на приобретение строительных материалов, во вторую - суммарный вес товаров. В следующих строках выходного файла должна быть помещена информация о приобретаемых товарах в следующем формате: каждому виду товара соответствует одна строка выходного файла. Для каждого товара в строке указывается: его название (30 символов), пробел, количество приобретаемых упаковок, пробел, общий вес приобретаемых упаковок, пробел, сумма денег, потраченная на приобретение данного товара.
Пример файлов входных и выходных данных:
Входной файл:
800
500
5
Клей "Монолит"                                      7 5 50 3
Смесь "Рот банд"                                 40 5  4
Клей обойный "Момент"                      30 1 50
Смесь "Фугенн Фуллер"                      4 5 25 5
Шпатлевка                                                 10 2  10
Выходной файл:
800            
318            
Клей "Монолит"    3    150.00    225.00
Смесь "Рот банд"    4    20.00    160.00
Клей обойный "Момент"    3    3.00    90.00
Смесь "Фугенн Фуллер"    5    125.00    225.00
Шпатлевка    10    20.00    100.00


Автор: comtat 15.9.2006, 19:18
решение ищи с помощью задаче о рюкзаке  smile 

Автор: comtat 15.9.2006, 19:34
вот нашел исходник 

Автор: vIRcR 16.9.2006, 06:57
Спасибочки все работает smile 

Автор: comtat 16.9.2006, 18:16
Не за что  smile 

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)