Zgłaszanie | Wszystkie zgłoszenia | Najlepsze | Lista |
GRUPOWAN - 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: 3 2
Jasio 2 0 1
Stasio 1 1
Marysia 1 1
5 4
Bardzo 3 1 2 3
Lubie 2 0 1
Jesc 3 0 2 3
Jagodowe 2 1 2
Bulki 2 0 2
0 0
Output: 2
2
Dodane przez: | Krzysztof Lewko |
Data dodania: | 2011-07-28 |
Limit czasu wykonania programu: | 0.100s |
Limit długości kodu źródłowego | 50000B |
Limit pamięci: | 1536MB |
Cluster: | Cube (Intel G860) |
Języki programowania: | All except: ASM64 GOSU |