C++ Izazov

poruka: 17
|
čitano: 3.792
|
moderatori: Lazarus Long, XXX-Man, vincimus
1
+/- sve poruke
ravni prikaz
starije poruke gore
14 godina
neaktivan
offline
C++ Izazov

Opis zadatka: Na raspolaganju nam je teretno sredstvo cija je nosivost M kilograma (M<=1000), kao i N vrsta razlicitog tereta (N<=100) kojeg ima u neogranicenim kolicinama. Ovi tereti su razlicitih tezina t1, t2, ..., tn i razlicitih vrijednosti v1,v2,...,vn. Potrebno je odrediti kolika je najveca moguca ukupna vrijednost tereta koja se moze natovariti u transportno sredstvo a da se pri tome ne prekoraci dozvoljena nosivost. Na primjer, uzmimo da je nosivost M=17, da imamo N=5 vrsta tereta na raspolaganju sa tezinama t1=3, t2=4, t3=7, t4=8 i t5=13 a cije su vrijednosti v1=4, v2=5, v3=10, v4=11 i v5=13. Tada je najveca vrijednost koju mozemo ostvariti 24, i to ukoliko uzmemo jedan primjerak prve vrste robe i dva primjerka trece vrste robe. napomenimo da transportno sredstvo ne mora biti popunjeno do maksimalne nosivosti, tj. u nekim slucajevima moze ostati i prazno mjesto (koje je tada sigurno manje od tezine najlakseg tereta).

Izvrsni program mora imati naziv UTOVAR.exe.

Ulazna datoteka UTOVAR.IN koja se nalazi u tekucem direktoriju ima tri reda. Prvi sadrzi dva cijela broja M i N, razdvojena jednim razmakom. Drugi red sadrzi N cijelih brojeva ti, i=1,2,...,N koji predstavljaju tezine za svaku pojedinu vrstu tereta. treci red sadrzi takodjer N cijelih brojeva vi, i=1,2,...,N koji predstavljaju  vrijednosti za svaku pojedinu vrstu tereta.

Izlazna datoteka:

Program treba da kreira izlaznu datoteku UTOVAR.OUT u tekucem direktoriju. Datoteka treba da sadrzi samo jedan red koji sadrzi samo jedan cijeli broj koji predstavlja najvecu ukupnu mogucu vrijednost tereta (uz postovanje dozvoljene nosivosti). Na kraju ne  treba stajati oznaka kraja reda (EOL marker)

 

PRIMJER:

UTOVAR.IN

17 5

3 4 7 8 9

4 5 10 11 13

UTOVAR.OUT

24

A.O.
Moj PC  
0 0 hvala 0
17 godina
offline
RE: C++ Izazov

Ovo mi više zvuči kao "C++ riješi-mi-zadaću", a ne kao izazov. {#}

If it's not broken, don't fix it. :-)
14 godina
neaktivan
offline
RE: C++ Izazov
MSX kaže...

Ovo mi više zvuči kao "C++ riješi-mi-zadaću", a ne kao izazov. {#}

                 JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

A.O.
14 godina
neaktivan
offline
C++ Izazov

SAMO ZA OZBILJNE PROGRAMERE.

A.O.
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C++ Izazov
hitman_anel kaže...

JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

A zašto si onda to postao ovdje? Tužno.

14 godina
neaktivan
offline
RE: C++ Izazov
Tom69 kaže...
hitman_anel kaže...

JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

A zašto si onda to postao ovdje? Tužno.

                  Izvini, nisam znao da se ovdje samo stavljaju zadace. Mislio sam da se programeri mogu zabaviti i na ovaj nacin. Nadam se da znas napisati barem liniju koda.

A.O.
17 godina
offline
RE: C++ Izazov
hitman_anel kaže...
Tom69 kaže...
hitman_anel kaže...

JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

A zašto si onda to postao ovdje? Tužno.

                  Izvini, nisam znao da se ovdje samo stavljaju zadace. Mislio sam da se programeri mogu zabaviti i na ovaj nacin. Nadam se da znas napisati barem liniju koda.

Prema danom rješenju može se vidjeti sistem

U prvom koraku ostavjaju se one težine koje u dijeljenju nosivost/težina i modulo nosivost/težina daju najveći rezultat

Poruka je uređivana zadnji put sri 22.12.2010 12:41 (Floki).
14 godina
neaktivan
offline
RE: C++ Izazov
Floki kaže...
hitman_anel kaže...
Tom69 kaže...
hitman_anel kaže...

JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

A zašto si onda to postao ovdje? Tužno.

                  Izvini, nisam znao da se ovdje samo stavljaju zadace. Mislio sam da se programeri mogu zabaviti i na ovaj nacin. Nadam se da znas napisati barem liniju koda.

Prema danom rješenju može se vidjeti sistem

U prvom koraku ostavjaju se one težine koje u dijeljenju nosivost/težina daju najveće rezultate cjelobrojnog djeljenja,

u drugom koraku se između njih bira ona težina sa najvećim modulo operatorom, ako ima jednakih i tu, bira se ona sa većom vrijednošću

 

zanimljiv pristup Floki ali ne znaju svi programeri rjesavati kongruencije

 

A.O.
14 godina
neaktivan
offline
C++ Izazov

Nije moguce da samo Floki ima neku ideju. Vjerovatno programeri nisu jos se razbudili.

A.O.
Moj PC  
0 0 hvala 0
17 godina
offline
C++ Izazov

Ok, ovo je rješivo pomoću načina veći rezultat cjelobrojnog djeljenja + veći modulo

Ima još kombinacija 24, međutim, programerski je zadanu ovako moguće dobiti

treća vrsta robe ima kombinaciju cjelobrono djeljenje 2 i modulo 3,

Poruka je uređivana zadnji put sri 22.12.2010 12:53 (Floki).
 
0 0 hvala 0
14 godina
neaktivan
offline
C++ Izazov

Evo jos neki primjer:

 

UTOVAR.IN

41 3

8 11 12

40 65 78

 

OTOVAR.OUT

236

A.O.
Moj PC  
0 0 hvala 0
14 godina
neaktivan
offline
RE: C++ Izazov
Floki kaže...

Ok, ovo je rješivo pomoću načina veći rezultat cjelobrojnog djeljenja + veći modulo

Ima još kombinacija 24, međutim, programerski je zadanu ovako moguće dobiti

treća vrsta robe ima kombinaciju cjelobrono djeljenje 2 i modulo 3,

                      Mozes dobiti na vise nacina 24 ali onda nosivost je prekoracena

A.O.
17 godina
offline
RE: C++ Izazov
hitman_anel kaže...
MSX kaže...

Ovo mi više zvuči kao "C++ riješi-mi-zadaću", a ne kao izazov. {#}

                 JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

Ja se ispričavam. Nisam znao da niti jedan student IV. godine matematike-informatike nikad nije muljao. Niti da su cijepljeni protiv smisla za humor. Međutim, siguran sam da ti ne trebaju boldana velika slova, znam čitat i ne-boldana mala.

If it's not broken, don't fix it. :-)
14 godina
neaktivan
offline
RE: C++ Izazov
MSX kaže...
hitman_anel kaže...
MSX kaže...

Ovo mi više zvuči kao "C++ riješi-mi-zadaću", a ne kao izazov. {#}

                 JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

Ja se ispričavam. Nisam znao da niti jedan student IV. godine matematike-informatike nikad nije muljao. Niti da su cijepljeni protiv smisla za humor. Međutim, siguran sam da ti ne trebaju boldana velika slova, znam čitat i ne-boldana mala.

 

                            Ja sam mislio da si ti jos u osnovnoj skoli pa da znas samo velika slova.

 

A.O.
15 godina
neaktivan
offline
C++ Izazov

A ja mislim da forum vrvi programerima koji imaju previše slobodnog vremena i čekaju kad ćeš im dat zadatak da ga riješe.

Slavonija u ♥ ;;;---;;; http://squareroot2.isgreat.org/squareroot2.html
Moj PC  
0 0 hvala 0
16 godina
neaktivan
offline
RE: C++ Izazov
hitman_anel kaže...

                 JA SAM STUDENT IV GODINE MATEMATIKE INFORMATIKE NE TREBA MENI RJESAVATI ZADACU

A ne znaš ugasiti Caps Lock i staviti interpunkcijske znakove... Na stranu što se ponašaš kao dijete...

 

I kako smo samo cool jer ne koristimo hrvatska slova poput š, č, ć, ž...

 

ffs

Can't find a better Jam!
14 godina
neaktivan
offline
C++ Izazov
Ovo je klasični primjer DP - dinamičkog programiranja. Knapsack problem, napraviš tablicu stanja i gotovo.
Možda se može i sa greedijem ali i ovo je točno.
 
0 0 hvala 0
1
Nova poruka
E-mail:
Lozinka:
 
vrh stranice