Zadatak - Dinamicko programiranje

2paca.zwaka

Primećen član
Poruka
560
Potrebno je organizovati izlet za celu skolu.Na izlet ide N ucenika koje treba raspodeliti u autobuse.Postoje dva tipa autobusa:
veci (kapacitet A, cena X);
manji (kapacitet B,cena Y);
Napisati program koji odredjuje koliko vecih i koliko manjih autobusa je potrebno da preveze sve ucenike a da se potrosi sto manje novca.
Ulaz :
broj ucenika N ---- 1<=N<=3000
kapacitet velikog busa A ---- 1<=A<=100
kapacitet malog busa B ---- 1<=B<=100
cena velikog busa X ---- 1<=X<=5000
cena malog busa Y ---- 1<=Y<=3000

Izlaz:
Prirodan broj C - najmanja ukupna cena izleta

Primer :
In:
100
40
30
1000
700


Out:
2400



E ovaj sam zadatak ja uradio i radi za 40% test primera medjutim dalje me obara vremenski limit.......pa sam skontao da se ovo moze odraditi dinamickim programiranjem......e da znam to uradio bih nesto pa bih i postavio ovde ali posto nzm nista o tome trazim samo pomoc da mi neko ovo odradi jednostavno da bih mogao da shvatim koncept dinam. prog........hvala puno :D :D
 
Pa iskreno ja neznam ni sta se podrazumeva pod "dinamickim programiranjem", dinamicka alokacija memorije ili nesto trece?Ako je ovo prvo ne vidim kako ce ti ubrzati algoritam okaci ovaj kod koj si sad uradio pa verovatno moze da se optimizuje da jede toliko procesor.
 
Mozes da radis ovako:
da gledas da li je bolje da uzmes jedan skuplji ili za te pare da uzmes vise jeftinijih u zavisnosti od toga kako ces vise da prevezes. Tako ces da dodajes ono sto ti vise odgovara samo treba da pogledas poslednji put kad uzimas sta ti je bolje. Jer moze da se desi da si ti do sada uzimao ove velike, a sad mozes da uzmes manje ovih manjih za manje pare. Nadam se da si razumeo sta sam hteo da kazem, ako nisi ti reci pa cu pokusati malo bolje da objasnim :)
 

Back
Top