Csoportok

Minden operációs rendszer egyik fő feladata, hogy az erőforrások hozzáférési jogosultságait kezelje. A jogosultságok kezelésének egyik módja a csoportok képzése. Minden erőforrás egy csoportot alkot, és csak azok a felhasználók használhatják az erőforrást, amelyek benne vannak az erőforrás csoportjában. Egy felhasználó több csoportban is benne lehet. Azt mondjuk, hogy az U felhasználó ekvivalens a V felhasználóval, ha bármely C csoportra U benne van a C csoportban, akkor V is benne van a C csoportban, és fordítva, ha V benne van a C csoportban, akkor U is benne van a C csoportban.

Feladat

Írj programot, amely kiszámítja az ekvivalens felhasználók adatait!

Bemenet

A CSOPORT.BE szöveges állomány első sorában az adatsorok K(0 < K <= 10000) száma van. A következő K sor mindegyike egy csoportba tartozó felhasználókat ad meg. A sorban az első szám C egy csoport azonosítója (1 <= C <= 30). A sorban a további számok azoknak a felhasználóknak az azonosítói, akik a C csoportba tartoznak. A sort a 0 szám zárja, ami nem felhasználói azonosító. A felhasználók azonosítói 1 és 10000 közötti egész számok.

Kimenet

A CSOPORT.KI szöveges állomány első sora egy E egész számot tartalmazzon, amely a különböző ekvivalens felhasználók halmazainak száma. Az állomány további E sora rendre felhasználók egy-egy ekvivalens halmazát adja. Egy sorban legyenek az ekvivalens felhasználók.

 

 

(Olimpiai válogatóverseny 2003)