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

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


Timp maxim de execuţie / test:
0.01s
Memorie totala disponibilă / stivă:
16MB / 5MB

La cursul de comunicare organizat în vacanță, au participat N persoane, numerotate cu numere de ordine de la 1 la N. Fiecare persoană are la curs mai mulți prieteni apropiați, cărora le comunică orice informație imediat cum a aflat-o. Relaţiile de comunicare nu sunt bidirecţionale, cu alte cuvinte dacă persoana a îi transmite imediat informații persoanei b, nu este obligatoriu ca şi persoana b să transmită imediat informaţiile pe care le primeşte persoanei a.
Profesorul studiază relaţiile dintre participanţii la curs. El defineşte un nucleu de comunicare ca fiind un grup cu număr maxim de cursanţi cu proprietatea că oricare ar fi a şi b doi cursanţi din grup, dacă a primeşte o informaţie, aceasta va ajunge şi la cursantul b (direct sau prin intermediul altor cursanţi din grup).
Profesorul dorește să determine numărul de nuclee de comunicare existente la cursul său.

Cerinţă

Cunoscând N, numărul de cursanţi, precum și prietenii fiecărui cursant, scrieţi un program care să determine numărul de nuclee de comunicare existente.

Date de intrare

Fișierul de intrare nuclee.in conține pe prima linie un număr natural N, reprezentând numărul de cursanţi. Următoarele N linii conțin informații despre prietenii cursanţilor. Astfel, pe linia i+1 din fişier se află numerele naturale k p1 p2 … pk, separate prin câte un spaţiu, unde k reprezintă numărul de prieteni ai persoanei i, iar p1, p2, …, pk, reprezintă prietenii persoanei i.

Date de ieşire

Fişierul de ieşire nuclee.out va conţine o singură linie pe care va fi scris un singur număr natural reprezentând numărul de nuclee de comunicare existente.

Restricţii

• 1 < N < 201
• Pot exista persoane care nu au prieteni apropiați.
• O persoană poate face parte dintr-un singur nucleu.
• Un nucleu poate fi format dintr-o singură persoană.

Exemple

nuclee.innuclee.outExplicaţii
5 2 3 4 2 1 3 1 2 0 2 1 4 3 Persoana 1 are 2 prieteni apropiaţi (3 şi 4)
Persoana 2 are de asemenea 2 prieteni apropiaţi (1 şi 3)
Persoana 3 are un prieten (pe 2)
Persoana 4 nu are prieteni.
Persoana 5 are doi prieteni (pe 1 şi pe 4).
Există 3 nuclee de comunicare.
N1: 1, 2, 3
N2: 4
N3: 5

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