.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » prieteni3

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
prieteni3


Timp maxim de execuţie / test:
0.1s
Memorie totala disponibilă / stivă:
2MB / 1MB

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ă A este prietenă cu persoana B şi B este prietenă cu persoana C, nu rezultă că A şi C sunt prieteni.
Se alege o persoană, s-o notăm cu A, căreia îi asociem rangul 0. Pentru persoana precizată A, toţi prietenii săi primesc rangul 1. Prietenii prietenilor lui A, care nu sunt şi prieteni cu A, capătă rangul 2, şi aşa mai departe. Sa notăm cu Pi mulţimea persoanelor din reţea care au rangul i. De exemplu, P0={A} iar P1 este formata din toti prietenii lui A. Vor primi rangul k toate persoanele din reţea care au cel puţin un prieten în Pk-1 dar nu au prieteni în nici una dintre multimile P0, P1, …,Pk-2.

Cerinţă

Într-o reţea de socializare cu n membri sunt cunoscuţi prietenii fiecărei persoane. Pentru o persoană precizată A şi pentru un număr natural dat k, determinaţi toate persoanele din reţea care, în raport cu persoana A, au rangul egal cu k.

Date de intrare

Prima linie a fişierului prieteni3.in conţine numerele naturale n A k, unde n reprezintă numărul de persoane din reţea, iar A este persoana în raport cu care care trebuie să determinăm persoanele de rang k. Pe următoarele n linii sunt precizate listele prietenilor fiecărei persoane din reţea. Pe linia i+1 se află numărul natural nri reprezentând numărul prietenilor persoanei i, urmat de nri numere naturale distincte, separate prin câte un spaţiu, reprezentând prietenii lui i.

Date de ieşire

Pe prima linie a fişierului prieteni3.out va fi scris numărul de persoane de rang k în raport cu persoana A. Pe a doua linie vor fi scrise în ordine crescătoare şi separate prin câte un spaţiu, toate persoanele care au rangul k în raport cu persoana A.

Restricţii

• Prietenia este o relaţie reciprocă
0 < n ≤ 100
0 < A ≤ n
0 ≤ k < n

Exemple

prieteni3.inprieteni3.outExplicaţii
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 2 1 7 Persoana 3 are rangul 0.
Persoanele de rang 1 sunt: 2, 4, 5, 6.
Persoanele de rang 2 sunt: 1, 7.
Persoanelor 8 şi 9 nu li se poate asocia niciun rang.

autor: Prof. Cornelia Ivaşc
propunător: Prof. Emanuela Cerchez
Colegiul Naţional ″Emil Racoviţă″
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
surse trimise | ajutor