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

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


Timp maxim de executie/test:
0.6 secunde
Memorie totala disponibila/stiva:
16 MB/1 MB

În 2005, România a fost sub ape. Sute de poduri s-au darmat, sute de drumuri au fost distruse.
Primul ministru a înfiintat un consiliu pentru situatii de urgenta care analizeaza harta tarii. Pe harta sunt marcate N localitati importante. Localitatile sunt numerotate de la 1 la N. De asemenea, pe harta sunt marcate drumurile existente între localitati pe care se poate circula, precum si drumurile care au fost distruse. Pentru fiecare drum distrus este specificat si costul estimat pentru reconstructia drumului.
Primul ministru doreste construirea unui numar minim de drumuri, astfel încât în final sa existe legatura între oricare dintre cele N localitati marcate pe harta. Daca exista mai multe solutii cu numar minim de drumuri, va fi preferata aceea pentru care suma costurilor pentru reconstructie este minima.

Cerinta

Determinati drumurile care trebuie reconstruite, precum si suma minima cheltuita pentru reconstructie.

Date de intrare

Fisierul de intrare flood.in contine pe prima linie un numar natural N, reprezentând numarul de localitati.
Pe cea de a doua linie este scris un numar natural M, care reprezinta numarul de drumuri existente pe care se poate circula.
Pe fiecare dintre urmatoarele M linii sunt scrise câte doua numere naturale X si Y, cuprinse între 1 si N, separate printr-un spatiu, cu semnificatia "între localitatile X si Y exista un drum pe care se poate circula".
Pe urmatoarea linie este scris un numar natural P, care reprezinta numarul de drumuri distruse.
Pe fiecare dintre urmatoarele P linii sunt scrise câte trei numere naturale separate prin câte un spatiu X, Y si C, cu semnificatia "reconstructia drumului dintre X si Y costa C RON".

Date de iesire

Fisierul de iesire flood.out va contine pe prima linie un numar natural nr, reprezentând numarul minim de drumuri care trebuie reconstruite. Pe cea de a doua linie va fi scris un numar natural S care reprezinta suma costurilor pentru reconstructia celor nr drumuri (minima posibil). Pe fiecare dintre urmatoarele nr linii vor fi scrise câte trei numere naturale separate prin câte un spatiu X Y C, cu semnificatia "drumul dintre X si Y de cost C va fi reconstruit".

Restrictii si precizari

  • 0 < N <= 10 000
  • 0 <= M, P <= 200 000
  • Costurile de reconstructie sunt numere naturale nenule <= 1000
  • Drumurile dintre localitati sunt bidirectionale.
  • Între doua localitati pot exista mai multe drumuri de legatura.
  • Costurile totale de reconstructie nu depasesc 2 000 000 000.
  • Înainte de inundatii între oricare doua localitati exista legatura.
  • Se acorda punctaje partiale astfel:
    - pentru determinarea corecta a numarului minim de drumuri se acorda 20% din punctajul pe test;
    - pentru determinarea corecta a numarului minim de drumuri si a costului minim se acorda 50% din punctajul pe test.

Exemplu
flood.in flood.out

6
4
1 2
1 6
3 4
3 5
3
2 5 3
1 3 5
4 5 1

1
3
2 5 3

prof. Emanuela Cerchez
Liceul de Informatica "Grigore Moisil" Iasi
Contact:emanuela.cerchez@gmail.com

propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2006: scara, programs, nr, iepuras2, numere3, robot2, fry, suma, sah, formule, perm, cifra, repeat, ture, xor, policefm, unu, criptare, ed, bilete, vector, scor, ratb, infinit, race, dragon, kreg, placi, hanoig, red, 2sec, sume3, balls, festival, croco, johnie, matrice3, pavaj, sume, arthur, kimberley, kafka, vocale, pento, prop, ro, sol, bacan, erdos, poligon, reduceri, druid, novel, gramezi, nrbinar, laser, spair, caravane, cuburi, grup, invest, cd, friends2, mese, toys
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, secvop, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, pasi, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, caini, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, peste, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, compus1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, dame, consiliu, adprod, arme, deal, prodnr, compar, latin, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
Despre graf: gropi, tgv, matrice2, miniasm, picnic, mere, circuit, soldati, arce, conflicte, desen, robot, furtuna, net, cuvinte, excursie, cadere, pioni, reinvent, kreg, croco, johnie, matrice, arthur, kimberley, ro, sol, caravane, bete, honest, police, pcod, zmeu, auto2, grazing, datorii, trafic, sponsori, monede1, apm, bile1, caini, masina1, bomboane, turn1, shgraf, paintball, program1, tgraf, kgb, algola, felinar, joc6, tric, homeless, promo, turism, casute, joc10, prieteni1, traseu, zapezi, litoral, lover, trip, garaj, ziduri, tv, pact, echipe1, vitale, spion, trasee, bcolor, scara2, lant, ab3, soc, team, gard, rsp, graf, mexc, dep, albinuta1, atac2, cabane, drumuri, tj, grade, jungla, lanterna, magic5, coment, urgenta, fazan, lanturi, cfr, site, traseu1, trmv, graphgame, minuni, telefon, ubergraf, carray, pestera, chei, arbgraf, war, fluviu, drumuri1, entries, ubuntzei, pack, fotbal1, pamant, dag, razboi, benzina2, wg, neconex, asfalt1, kubus2, module, progresii, dfs, prieteni3, megascoala, grafxy, dineu, vot1, biperm, drumuri2, nrgraf, cristal, cartite, copaci3, dragoni, nuclee
Despre conexitate: arce, matrice, shgraf, trip, pact, echipe1, vitale, spion, bcolor, mexc, dep, fazan, cfr, chei, teme, entries, pamant, neconex, module, drumuri2, cristal, nuclee
Despre multimi disjuncte: matrice, mexc, submult, transform
Software recomandat
surse trimise | ajutor