pitici

Time limit: 0.25s Memory limit: 20MB Input: pitici.in Output: pitici.out

În vârful muntelui Acrom trăiesc pe timpul verii KK pitici, numerotaţi de la 11 la KK.

Pe munte există NN cabane, aflate la altitudini diferite, legate între ele de MM poteci. Cabana piticilor este numerotată cu 11, iar cabana de la poalele muntelui cu NN.

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 ... xpx_1 \ x_2 \ ... \ x_p cu proprietatea că x1=1,xp=Nx_1=1, x_p=N şi între oricare două cabane consecutive pe drum xix_i şi xi+1x_{i+1} există o potecă ce merge în vale (adică altitudinea cabanei xix_i este mai mare decât altitudinea cabanei xi+1x_{i+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 pitici.in sunt scrise trei numere naturale N M KN \ M \ K separate prin câte un spaţiu cu semnificaţia din enunţ. Următoarele MM linii conţin câte 33 numere a b ca \ b \ c separate prin câte un spaţiu, cu semnificaţia că există potecă de la cabana aa la cabana bb de lungime cc, cabana a având o altitudine mai mare decât cabana bb.

Date de iesire

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

Restricții și precizări

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

Exemplu

pitici.in

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

pitici.out

6 6 7

Explicație

Primul pitic va alege drumul format din cabanele 1 4 6 7 91 \ 4 \ 6 \ 7 \ 9, drumul având lungimea 66. Al doilea va alege drumul 1 4 6 8 91 \ 4 \ 6 \ 8 \ 9, tot de lungime 66. Ultimul pitic va alege drumul 1 2 3 7 91 \ 2 \ 3 \ 7 \ 9 de lungime 77.

Log in or sign up to be able to send submissions!