.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » pitici1

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
pitici1


Timp maxim de execuţie / test:
0.9s
Memorie totala disponibilă / stivă:
16MB / 1MB

În vârful muntelui Acrom trăiesc pe timpul verii K pitici, numerotaţi de la 1 la K.
Pe munte există N cabane, aflate la altitudini diferite, legate între ele prin M poteci. Cabana piticilor este numerotată cu 1, iar cabana de la poalele muntelui cu N.
Fiindcă iarna este prea frig, piticii se mută în cabana de la poalele muntelui, unde este mai cald. Piticii sunt disciplinaţi şi coboară de pe munte în ordinea crescătoare a numerelor lor. Pentru a nu fi acuzaţi de lipsă de personalitate, fiecare pitic alege drumul cel mai scurt până jos, drum diferit de fiecare dintre drumurile alese de piticii ce au coborât înaintea lui. Un drum al unui pitic este o succesiune de cabane x1 x2 ... xp cu proprietatea că x1=1, xp=N şi între oricare două cabane consecutive pe drum xi şi xi+1 există o potecă ce merge în vale (adică altitudinea cabanei xi este mai mare decât altitudinea cabanei xi+1). Două drumuri sunt diferite dacă există cel puţin o cabană ce aparţine unuia dintre drumuri şi nu aparţine celuilalt. Lungimea unui drum este suma lungimilor potecilor ce leagă cabanele situate pe acest drum.

Cerinţă

Scrieţi un program care să determine lungimea drumului ales de fiecare pitic, drum ce respectă condiţiile din enunţ.

Date de intrare

Pe prima linie a fişierului de intrare pitici1.in sunt scrise trei numere naturale N M K separate prin câte un spaţiu cu semnificaţia din enunţ. Următoarele M linii conţin câte 3 numere a b c separate prin câte un spaţiu, cu semnificaţia că există potecă de la cabana a la cabana b de lungime c, cabana a având o altitudine mai mare decât cabana b.

Date de ieşire

Fişierul de ieşire pitici1.out va conţine o singură linie pe care vor fi scrise K numere naturale separate prin câte un spaţiu. Al i-lea număr reprezintă lungimea drumului ales de piticul i.

Restricţii

2 < N < 1020
2 < M < 200 020
1 < K < 1020
0 <
lungimea unei poteci < 1020
Se garantează corectitudinea datelor de intrare.
Între oricare 2 cabane există cel mult o potecă.
Vor exista cel puţin K drumuri diferite de la cabana 1 la cabana N.
Cabana 1 are altitudinea cea mai mare, iar cabana N cea mai mică.

Exemple

pitici1.inpitici1.outExplicaţii
9 11 3 1 2 1 1 4 1 2 3 1 3 7 4 7 9 1 4 6 2 4 5 1 5 8 4 6 8 1 6 7 2 8 9 2 6 6 7 Primul pitic va alege drumul format din cabanele 1 4 6 7 9, drumul având lungimea 6.
Al doilea va alege drumul 1 4 6 8 9, tot de lungime 6.
Ultimul pitic va alege drumul 1 2 3 7 9 de lungime 7.

autor: Dan Ionut Fechete
propunător: Prof. Emanuela Cerchez
Liceul de Informatica ″Grigore Moisil″
emanuela.cerchez@gmail.com
Articole recomandate
Despre heap: Heap-uri
Probleme recomandate
De la Lot PH 2006: arbfind, becuri, team, drept1, gard, rsp, sir5
De acelaşi autor: 2sec, croco, judete, tetris2, trafic, monede1, mesaj1, diamant, ratina, import, drept1, gard, curent
Despre programare dinamică: vedete, fbr, tgv, zeratul, rv, comun, retea, circuit, sumdif, copaci, drum, text, palind, joc, vikingi, rafturi, balaur, plimbare, party, pc, pioni, seif, iepuri, numere3, perm, ture, bilete, prop, ro, reduceri, cuburi, invest, cutie2, stalpi, nr2, judete, strict, auto2, tree, jobs, leaves, pstring, program, datorii, senzori, farfurii, joc1, barbie, ambigram, rlcs, cub1, bio, chimie1, otilia, pasune, remi, sir23, tren1, joc5, pachete, echipe, comb, agitatie, ivv, peste, pitici, pipe, shgraf, tabara1, stop, randuri, zidar, log, sant, produs, subsir, cover, bcast, emax, dist, mesaj1, imax, avere, asmax, raft, suma2, joc12, fni, nr4, join, transport, masina3, lsort, microvirus, fat, cafea, echipe1, anticip, bsir, diamant, petrom, evantai, spion, acolor, evo, bombo, lacusta, lant, team, numere8, dep, stiva, subgeom, pviz, tir1, cabane, piramida1, mosia, cuvinte1, gaina, materom, sortari, turnuri, trans, politie, codul, dansatori, nkbiti, kperms, treegame, siruri2, 123, jucarii, bradut, joc15, expozitie, text3, ic, echilibru, distsir, kmax, stalpi1, gaz, triunghi2, v2d, cuiburi, mine, orientare, activ, secvbiti, kcons, pokemon, ubergraf, left, acerc, autostrazi, kdist, select, cazare, fluviu, telecomanda, parcela, pion, subs, suma4, sirmax, bdotcom, viena, sablon2, telecab, ikebana, radare, hacker, obstacole, robotel, centrala, verigi, cds, wg, minusk, radioactiv, enigma, jb, efect, maxviz, ripstick, progresii, maxtri, combcuv, blis, subsiruri, mijloc, probleme, unuzero, palindrom1, minerale, speed, zmax, spider, cntgcd, interclasare, bus, pariuri, riglef, fractii2, fall, arbsum, conuri, arbvalmax, procente, metrou
Despre heap: sirag, hperm, granita, gard, cezar1, munte2, base3, sea, oldest, ksecv
Despre Sortare topologică: dezbateri, honest, drumuri2
Despre drum minim: miniasm, robot, furtuna, excursie, arthur, bete, zmeu, trafic, masina1, bomboane, traseu, litoral, lover, trip, scara2, team, gard, base3, coach, lanturi, trmv, pestera, fluviu, ubuntzei, razboi, benzina2, kubus2, megascoala, dragoni
surse trimise | ajutor