Witam.
Nie mam pojecia jaki algorytm do rozwiazania tego obrac:
Pewna jednokierunkowa ulica posiada przystanek autobusowy co kilometr. Pasażer ponosi opłatę stosowną do liczby kilometrów przebytych autobusem. Przykładowa lista opłat jest ukazana w tabeli poniżej.
Kilometry 1 2 3 4 5 6 7 8 9 10
Cena 12 21 31 40 49 58 69 79 90 101
Żaden z autobusów nie pokonuje więcej niż 10 kilometrów. Pasażer chce przejechać n kilometrów, gdzie 1 < n < 100. Jeżeli przyjmiemy, że aby ukończyć podróż pasażer może jechać dowolną ilość razy, który wybór kursów zapewni mu minimalną opłatę całkowitą ?
Zauważ, że opłaty nie koniecznie mają sens w wymiarze ekonomicznym. Na przykład, możliwe, że opłata za 10 km jest mniejsza niż ta za 1km.
W skrocie: chce przejechac 14km i moge jechac sobie 2x2km 3x3km i 1x1km, jesli tylko daloby to minimalna oplate. Tabela oplat nie jest statyczna i bedzie ja sie podawalo na starcie programu. Sprawdzanie wszystkich kombinacji zdecydowanie odpada. Tak wiec ma ktos jakis pomysl na algorytm?