Tcast

Time limit: 0.18s Memory limit: 64MB Input: tcast.in Output: tcast.out

Reţeaua de comunicaţie a oraşului Ploieşti este alcatuită din NN noduri, numerotate de la 11 la NN. Există N1N-1 perechi de noduri între care există conexiune directă (aceste noduri sunt denumite vecini). O conexiune directă asigură comunicare în ambele sensuri între nodurile conectate. Conexiunile directe sunt construite astfel încât oricare două noduri ale reţelei pot comunica (direct, sau indirect, prin intermediul altor noduri). La momentul de timp 00, nodul 11 are un mesaj pe care doreşte să îl trimită tuturor celorlalte noduri. Pentru aceasta, la orice moment de timp întreg tt, orice nod xx care a primit în prealabil mesajul (sau care l-a primit exact la momentul t), îl poate trimite unui vecin yy al său care nu a primit încă mesajul. Transmisia mesajului durează 11 unitate de timp – aşadar, nodul yy va primi mesajul la momentul t+1t+1. Un nod poate trimite mesajul către mai mulţi vecini ai săi, dar nu simultan.

Din motive de securitate, la anumite momente de timp din intervalul [0,T)[0, T), nodurile de comunicaţie sunt verificate. Pentru fiecare nod xx şi fiecare moment de timp t (0tT1)t \ (0 \leq t \leq T-1), se cunoaşte dacă nodul xx este verificat sau nu la momentul tt. Durata verificării este de 11 unitate de timp (astfel, dacă nodul xx este verificat la momentul tt, verificarea se termină la momentul t+1t+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 săi).

Cerinţă

Determinaţi durata de timp minimă după care mesajul poate ajunge de la nodul 11 la toate nodurile (în cazul unei strategii optime de distribuţie a mesajului).

Date de intrare

Prima linie a fişierului de intrare tcast.in conţine 22 numere întregi, separate printr-un spaţiu: NN şi TT. Următoarele N1N-1 linii conţin câte două numere întregi xx şi yy, separate printr-un spaţiu, având semnificaţia că nodurile xx şi yy sunt vecine în cadrul reţelei de comunicaţie. Următoarele NN linii conţin câte TT numere întregi din mulţimea {0,10, 1}. Al tt-lea număr de pe a ii-a dintre aceste linii este 11, dacă nodul ii este verificat la momentul t1t-1 (şi 00 în caz contrar).

Date de ieșire

Fişierul de ieşire tcast.out va conţine o singură linie pe care va fi scrisă durata de timp minimă după care toate nodurile primesc mesajul, în cazul unei strategii optime de distribuţie a mesajului.

Restricții și precizări

  • 1N2 0001 \leq N \leq 2 \ 000
  • 1T1 0001 \leq T \leq 1 \ 000
  • Durata de timp după care toate nodurile primesc mesajul poate fi mai mare decât TT

Exemplul 1

tcast.in

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

tcast.out

5

Explicație

La momentul 00 nodul 11 este verificat şi nu poate transmite mesajul nici unui vecin. La momentul 11, nodul 11 trimite mesajul nodului 44. La momentul 22, nodul 11 trimite mesajul nodului 22, iar nodul 44 trimite mesajul nodului 55. La momentul 33, nodul 22 trimite mesajul nodului 33, iar la momentul 44 nodul 33 trimite mesajul nodului 66. La momentul 55, nodul 66 este ultimul nod care primește mesajul.

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