Mam problem z wymyśleniem odpowiedniego algorytmu.
Mianowicie chodzi głownie o technikę zachłanną i o programowanie dynamiczne.
Podaną mam listę (paczek z jedzeniem dla lepszego zobrazowania) w której zawierają się 3 elementy:
x y z
x- oznacza liczbę marchewek
y- oznacza liczbę gruszek
z- oznacza koszt takiej paczki
Przykładowa lista może wyglądać tak:
8 5 15
4 2 9
4 3 5
7 8 20
itd
Następnie podaną mam liczbę marchewek i gruszek jakie mam zdobyć. Np 12 marchewek oraz 8 gruszek.
Działanie algorytmy ma polegać na tym że wypisze mi które paczki muszę kupić by wyszło jak najtaniej oraz by ilość potrzebnych rzeczy się zgadzała (nie moze być mniejsza ani większa). Paczka może być wybrana tylko raz.
Na początku chciałem liczyć ile kosztuje jeden przedmiot w danej paczce i tak wkładać do tablicy sortując ją od najtańszych do najdroższych. Dodając do siebie wiersze sprawdzając czy ilość nie została przekroczona. Jedna taki algorytm raczej nie przejdzie ponieważ najtańsza paczka na początku nie zawsze jest dobrym wyborem. Może ktoś ma jakiś inny pomysł ?