Fişierul intrare/ieşire:tcast.in, tcast.outSursăONI 2008 - baraj
AutorMugurel Ionut AndreicaAdăugată detoni2007Pripoae Teodor Anton toni2007
Timp execuţie pe test0.45 secLimită de memorie65536 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Tcast

Reteaua de comunicatie a orasului Ploiesti este alcatuita din N noduri, numerotate de la 1 la N. Exista N-1 perechi de noduri intre care exista conexiune directa (aceste noduri sunt denumite vecini). O conexiune directa asigura comunicare in ambele sensuri intre nodurile conectate. Conexiunile directe sunt construite astfel incat oricare doua noduri ale retelei pot comunica (direct, sau indirect, prin intermediul altor noduri).
La momentul de timp 0, nodul 1 are un mesaj pe care doreste sa il trimita tuturor celorlalte noduri. Pentru aceasta, la orice moment de timp intreg t, orice nod x ( 1 ≤ x ≤ N ) care a primit in prealabil mesajul (sau care l-a primit exact la momentul t), il poate trimite unui vecin y al sau care nu a primit inca mesajul. Transmisia mesajului dureaza 1 unitate de timp - asadar, nodul y va primi mesajul la momentul t+1. Un nod poate trimite mesajul catre mai multi vecini ai sai, dar nu simultan.
Din motive de securitate, la anumite momente de timp din intervalul [ 0 , T ), nodurile de comunicatie sunt verificate. Pentru fiecare nod x ( 1 ≤ x ≤ N ) si fiecare moment de timp t ( 0 ≤ t ≤ T-1 ), se cunoaste daca nodul x este verificat sau nu la momentul t. Durata verificarii este de 1 unitate de timp (astfel, daca nodul x este verificat la momentul t, verificarea se termina la momentul t+1 ). La fiecare moment de timp la care un nod este verificat, acesta nu poate trimite nici un mesaj (dar poate primi mesaje de la vecinii sai).

Determinati durata de timp minima dupa care mesajul poate ajunge de la nodul 1 la toate nodurile (in cazul unei strategii optime de distributie a mesajului).

Date de intrare

Prima linie a fisierului de intrare tcast.in contine 2 numere intregi, separate printr-un spatiu: N si T. Urmatoarele N-1 linii contin cate doua numere intregi x si y, separate printr-un spatiu, avand semnificatia ca nodurile x si y sunt vecine in cadrul retelei de comunicatie. Urmatoarele N linii contin cate T numere intregi din multimea { 0, 1 }. Al t-lea numar ( 1 ≤ t ≤ T ) de pe a i -a dintre aceste linii este 1, daca nodul i este verificat la momentul t-1 (si 0 in caz contrar).

Date de iesire

Fisierul de iesire tcast.out va contine o singura linie pe care va fi scrisa durata de timp minima dupa care toate nodurile primesc mesajul, in cazul unei strategii optime de distributie a mesajului.

Restrictii

  • 1 ≤ N ≤ 2000
  • 1 ≤ T ≤ 1000
  • Durata de timp dupa care toate nodurile primesc mesajul poate fi mai mare decat T

Exemplu

tcast.intcast.out
6 5
1 2
2 3
3 6
1 4
4 5
1 0 0 0 0
0 0 0 0 0
0 0 0 0 0
0 0 0 1 1
0 0 0 0 0
0 0 0 0 0
5

Explicatie

La momentul 0 nodul 1 este verificat si nu poate transmite mesajul nici unui vecin. La momentul 1, nodul 1 trimite mesajul nodului 4. La momentul 2, nodul 1 trimite mesajul nodului 2, iar nodul 4 trimite mesajul nodului 5. La momentul 3, nodul 2 trimite mesajul nodului 3, iar la momentul 4 nodul 3 trimite mesajul nodului 6. La momentul 5, nodul 6 este ultimul nod care primeste mesajul.

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content