Когда есть 1 свойство, я понимаю, что происходит там. У меня проблема с пониманием проблемы с рюкзаком, когда есть более 1 свойства.
Мне нужно написать программу, которая использует алгоритм ранца с двумя свойствами. Учитель сказал нам, что это нужно сделать в 3d-массиве. Я не представляю, как выглядит такой массив.
Скажем здесь мой ввод:
4 3 4 // number of records below, 1st property of backpack, 2nd property of backpack
1 1 1 // 1st property, 2nd property, cost
1 2 2 // 1st property, 2nd property, cost
2 3 3 // 1st property, 2nd property, cost
3 4 5 // 1st property, 2nd property, cost
И результат будет выглядеть так:
4 // the cheapest sum of costs of 2 records
1 3 // numbers of these 2 records
Объяснение вывода: 2 набора записей вписываются в 1-ю строку ввода:
(1) - номер записи 1 и номер записи 3
1 1 1
+ 2 3 3
-------
3 4 4
(2) - номер записи 4
3 4 5
Поскольку первый набор записей является самым дешевым (4 < 5), мы выбрали его. Не только мне нужно выяснить, существует ли такой набор записей, я также должен найти записи, которые я суммировал.
Но на данный момент мне нужно только понять, как будет выглядеть 3D-массив. Может ли кто-то из вас помочь мне с этим и показать, по-слоям, как и на моем изображении, как это будет выглядеть? Спасибо.