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

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


Timp maxim de execuţie / test:
0.2s
Memorie totala disponibilă / stivă:
32MB / 8MB

Supăraţi că lansarea părţii a treia a filmului lor preferat s-a amânat până în iunie 2018, Henry şi Hetty s-au gândit la propriul scenariu pentru finalul trilogiei:
Într-o lume în care vikingii pot zbura cu dragonii există N insule. Hiccup, şeful tribului de vikingi aflat pe insula 1, ştie M rute directe de zbor bidirecţionale între insule. Pentru fiecare j intre 1 si M, ruta j uneşte insulele Aj şi Bj şi are lungime Dj.
Pe fiecare insulă i,(1 ≤ i ≤ n) există dragoni din specia i care pot zbura fără a se opri pentru odihnă o distanţă maximă Dmaxi. Cu alte cuvinte, dragonii de pe insula i vor putea parcurge orice rută j,(1 ≤ j ≤ m) pentru care Dj ≤ Dmaxi, indiferent de ce alte drumuri au făcut anterior.
Hiccup doreşte să ajungă de pe insula 1 pe insula N pentru a-l salva pe Toothless, dragonul lui. Pentru a ajunge acolo, el va lua iniţial un dragon din specia 1 (de pe insula 1). Apoi, dacă la un moment dat Hiccup se află pe o insula i,(1 ≤ i ≤ n) având cu el un dragon din specia t, el poate:
1. Să zboare de pe insula i pe o altă insulă x cu dragonul pe care îl are, folosind o rută directă j între insulele i si x, bineînţeles doar dacă Dj ≤ Dmaxt .
2. Să schimbe dragonul din specia t pe care îl are cu un dragon din specia i aflat pe insula respectivă.

Cerinţă

a. Să se determine distanţa maximă Dmaxi caracteristică unui dragon la care Hiccup poate ajunge fără a schimba dragonul pe care l-a luat iniţial de pe insula 1.
b. Să se determine distanţa minimă pe care Hiccup trebuie să o parcurgă pentru a ajunge de pe insula 1 pe insula N.

Date de intrare

Fişierul de intrare dragoni.in conţine pe prima linie un număr natural p. Pentru toate testele de intrare, numărul p poate avea doar valoarea 1 sau valoarea 2. Pe a doua linie se găsesc două numere naturale N şi M reprezentând numărul de insule, respectiv numărul de rute directe între insule. Pe a treia linie se găsesc N numere naturale, al i-lea dintre acestea reprezentând distanta maximă Dmaxi pe care o poate zbura un dragon de pe insula i. Pe următoarele M linii sunt descrise cele M rute directe. Pe fiecare dintre aceste linii se găsesc câte trei numere naturale A, B şi D cu semnificaţia că există rută bidirecţională de lungime D între insulele A şi B.

Date de ieşire

In fişierul de ieşire dragoni.out se va afişa un singur număr natural.
Dacă valoarea lui p este 1, se rezolvă numai cerinţa a.
În acest caz numărul afişat va reprezenta distanţa maximă Dmaxi a unui dragon i la care Hiccup poate ajunge fără a schimba dragonul pe care l-a luat iniţial de pe insula 1.
Daca valoarea lui p este 2, se va rezolva numai cerinţa b,
În acest caz numărul afişat va reprezenta distanţa minima pe care Hiccup trebuie să o parcurgă pentru a ajunge de pe insula 1 pe insula N.

Restricţii

1 ≤ N ≤ 800
1 ≤ M ≤ 6000
1 ≤ Dmaxi ≤ 50 000, pentru orice 1 ≤ i ≤ N.
1 ≤ Aj, Bj ≤ N, pentru orice 1 ≤ j ≤ M.
1 ≤ Dj ≤ 50 000, pentru orice 1 ≤ j ≤ M.
• Se garantează că Hiccup poate ajunge pe insula N.
• Se garantează că răspunsul oricărei cerinţe este un număr natural mai mic decât 109.

Exemple

dragoni.indragoni.outExplicaţii
1 5 6 6 3 13 20 26 1 2 5 1 3 7 1 5 10 2 3 6 3 4 5 3 5 14 20 P = 1 deci se va rezolva cerinţa a).

Există N = 5 insule si M = 6 rute între ele. Hiccup porneşte de pe insula 1 având un dragon care poate zbura o distanţă de maxim 6. Cu acest dragon poate ajunge doar pe insulele 1, 2, 3 si 4, întrucât pentru a ajunge pe insula 5 el ar fi obligat sa parcurgă o ruta de lungime mai mare decât 6.

Distanta maxima pe care o poate zbura un dragon aflat pe insulele 1, 2, 3 sau 4 este deci 20 (dragonul de pe insula 4). Se observă că dragonul care poate zbura o distanţă de 26 se afla pe insula 5 şi este inaccesibil.
2 5 6 6 3 13 20 26 1 2 5 1 3 7 1 5 10 2 3 6 3 4 5 3 5 14 28 P = 2 deci se va rezolva cerinţa b).

Există N = 5 insule şi M = 6 rute între ele. Pentru a parcurge o distanţă minimă de 28 între insulele 1 şi N, Hiccup face următorii paşi:

Zboară de pe insula 1 pe insula 2 o distanţă de 5 cu dragonul din specia 1.
Zboară de pe insula 2 pe insula 3 o distanţă de 6 cu dragonul din specia 1.
Schimbă dragonul din specia 1 cu dragonul aflat pe insula 3, care poate zbura o distanţă maximă de 13.
Zboară de pe insula 3 pe insula 1 o distanţă de 7 cu dragonul din specia 3.
Zboară de pe insula 1 pe insula 5 o distanţă de 10 cu dragonul din specia 3.

În total el parcurge o distanţă de 5 + 6 + 7 + 10 = 28.

autor: stud. Vlad-Alexandru Gavrila
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la OJI 2015: panda, charlie, ech, lasere, 2sah, arc, defrag, dominant, pavare1, ordine, covor1, speciale, cuart
De acelaşi autor: spiridusi, metrou
Despre graf: gropi, tgv, matrice2, miniasm, picnic, mere, circuit, soldati, arce, conflicte, desen, robot, furtuna, net, cuvinte, excursie, cadere, pioni, reinvent, kreg, flood, 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, nuclee
Despre drum minim: miniasm, robot, furtuna, excursie, arthur, bete, zmeu, trafic, masina1, bomboane, traseu, litoral, lover, trip, scara2, team, gard, pitici1, base3, coach, lanturi, trmv, pestera, fluviu, ubuntzei, razboi, benzina2, kubus2, megascoala
surse trimise | ajutor