Reţelele de socializare au devenit foarte populare. În cadrul unei reţele, oamenii se asociază după un anumit criteriu. De aceasta dată, criteriul prieteniei stă la baza asocierii persoanelor. Din faptul că o persoană este prietenă cu persoana şi este prietenă cu persoana , nu rezultă că şi sunt prieteni.
Se alege o persoană, s-o notăm cu , căreia îi asociem rangul . Pentru persoana precizată , toţi prietenii săi primesc rangul . Prietenii prietenilor lui , care nu sunt şi prieteni cu , capătă rangul , şi aşa mai departe. Să notăm cu mulţimea persoanelor din reţea care au rangul . De exemplu, iar este formată din toţi prietenii lui . Vor primi rangul toate persoanele din reţea care au cel puţin un prieten în dar nu au prieteni în nici una dintre mulţimile .
Cerinţă
Într-o reţea de socializare cu membri sunt cunoscuţi prietenii fiecărei persoane. Pentru o persoană precizată şi pentru un număr natural dat , determinaţi toate persoanele din reţea care, în raport cu persoana , au rangul egal cu .
Date de intrare
Prima linie a fişierului prieteni.in
conţine numerele naturale , şi , unde reprezintă numărul de persoane din reţea, iar este persoana în raport cu care trebuie să determinăm persoanele de rang . Pe următoarele linii sunt precizate listele prietenilor fiecărei persoane din reţea. Pe linia se află numărul natural reprezentând numărul prietenilor persoanei , urmat de numere naturale distincte, separate prin câte un spaţiu, reprezentând prietenii lui .
Date de ieşire
Pe prima linie a fişierului prieteni.out
va fi scris numărul de persoane de rang în raport cu persoana . Pe a doua linie vor fi scrise în ordine crescătoare şi separate prin câte un spaţiu, toate persoanele care au rangul în raport cu persoana .
Restricţii şi precizări
- Prietenia este o relaţie reciprocă
Exemplu
prieteni.in
9 3 2
1 2
2 1 3
4 6 2 4 5
2 3 5
4 7 3 6 4
2 5 3
1 5
1 9
1 8
prieteni.out
2
1 7
Explicație
Persoana are rangul .
Persoanele de rang sunt: , , , .
Persoanele de rang sunt: , .
Persoanelor şi nu li se poate asocia nici un rang.