oxford

Time limit: 0.75s Memory limit: 128MB Input: Output:

Premierul Marii Britanii, Rishi Sunak, a decis să reorganizeze structura administrativă a comitatului Oxfordshire. În Oxfordshire sunt prezente NN orașe numerotate de la 11 la NN, conectate prin MM autostrăzi (drumuri unidirecționale ce conectează 22 orașe). Rishi a hotărât ca toate orașele cu proprietatea că cetățenii tuturor celorlalte orașe pot ajunge în ele prin intermediul autostrăzilor să devină reședințe. Deoarece numărul de orașe și autostrăzi din Oxfordshire este foarte mare, Rishi vă cere ajutorul în rezolvarea a două probleme cheie.

Cerinţă

  1. Care sunt indicii orașelor reședință din Oxfordshire;
  2. Care este distanța minimă de la fiecare orașpână la cea mai apropiată reședință de acel oraș.

Date de intrare

Se va citi din consolă. Datele de intrare conţin pe prima linie 33 numere CC, NN și MM, separate printr-un spațiu, unde CC reprezintă numărul cerinței, NN numărul de orașe și MM numărul de autostrăzi. Pe următoarele MM linii se află câte 33 numere ii, jj și dd, separate prin spații, reprezentând descrierea autostrăzilor: există o autostradă de la orașul cu indicele ii până la orașul cu indicele jj cu lungimea dd.

Date de ieșire

Se va afișa o singură linie. Dacă C=1C = 1, se vor afișa indicii reședințelor, ordonați crescător, separați prin spații. Dacă C=2C = 2, se vor afișa NN numere, separate prin spații, reprezentând distanțele minime de la fiecare oraș (cu indici de la 11 la NN) până la cea mai apropiată reședință de orașul respectiv (dacă orașul este reședință se va afișa 00).

Restricţii și precizări

  • 2N1052 \leq N \leq 10^5;
  • 1Mmin(N(N1),2105)1 \leq M \leq min(N * (N − 1), 2 * 10^5);
  • 1d1041 \leq d \leq 10^4;
  • Nu există o autostradă care să conecteze un oraș cu el însuși;
  • Nu există mai multe autostrăzi care să conecteze aceleași două orașe în același sens;
  • În toate testele există cel puțin o reședință;
  • Subtask 11, 2020 puncte: C=1C = 1 și N1 000N \leq 1 \ 000;
  • Subtask 22, 4040 puncte: C=1C = 1;
  • Subtask 33, 1010 puncte: C=2C = 2 și N1 000N \leq 1 \ 000;
  • Subtask 44, 3030 puncte: C=2C = 2.

Exemplul 1

stdin

1 6 6
4 3 2
2 4 4
4 2 2
5 4 6
6 2 7
1 3 10

stdout

3

Exemplul 2

stdin

2 9 12
8 4 30
4 6 16
6 1 13
6 5 1
5 2 26
7 2 10
3 9 23
9 3 5
1 4 7
4 5 18
2 5 8
9 2 19

stdout

24 0 42 17 0 1 10 47 19

Explicație

Pentru primul exemplu, orașul cu indicele 33 este singura reședință deoarece este singurul oraș ı̂n care se poate ajunge din toate celelalte orașe (vezi Figura 1).
Pentru al doilea exemplu, sunt două reședințe: orașele cu indicii 22 și 55. Orașele cu indicii 11, 44, 66 și 88 sunt mai aproape de reședința cu indicele 55. Orașele cu indicii 33, 77 și 99 sunt mai aproape de reședința cu indicele 22. (vezi Figura 2).

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