Grupowanie kontaktów
Transkrypt
Grupowanie kontaktów
Grupowanie kontaktów Jaś ostatnio zaczął słuchać pięknej muzyki - techno. Jak to często bywa, kto lubi techno, lubi także technoparty, dlatego Jasio ma bardzo dużo znajomych. Jasio chcąc się z kimś skontaktować bardzo długo musi szukać w swoim telefonie danej osoby, a jak to się mówi - czas to pieniądz. Jako, że jesteś dobrym znajomym Jasia oraz świetnym programistą, zdecydowałeś mu pomóc. Twoim zadaniem będzie pobranie listy kontaktów z Jasia telefonu i uporządkowania ją w grupy. Przy każdym kontakcie Jasio ma zapisane z czego ta osoba słynie - innymi słowami, do jakich grup należy. Jedną osobę możesz przydzielić tylko do jednej grupy. Każda osoba musi być w jakiejś grupie. Na życzenie Jasia, rozmiar największej grupy ma być jak najmniejszy. Input Liczba testów jest nieokreślona. Będzie ich około 20. Każdy test zaczyna się od 2 liczb, N<=1000 oraz M<=500, długość listy kontaktów oraz ilość grup. Następnie będzie podane N wierszy. Nazwa znajomego, liczba grup X do której należy dana osoba, X liczb. Liczba N=0 i M=0 kończą testy. Output Jedna liczba dla każdego testu - najmniejsza możliwa liczba największej grupy. Example Input: 32 Jasio 2 0 1 Stasio 1 1 Marysia 1 1 54 Bardzo 3 1 2 3 Lubie 2 0 1 Jesc 3 0 2 3 Jagodowe 2 1 2 Bulki 2 0 2 00 Output: 2 2