Chia nhóm

Xem dạng PDF

Gửi bài giải

Điểm: 1,04 (OI)
Giới hạn thời gian: 10.2s
Giới hạn bộ nhớ: 512M
Input: stdin
Output: stdout

Nguồn bài:
Shanghai 2004
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

Phân người vào các nhóm sao cho nhóm có nhiều người nhất có số lượng người ít nhất có thể.

Input

Có không quá ~20~ test. Dòng đầu mỗi test là hai số ~N,M~: ~N~ số người, ~M~ số nhóm.

~N~ dòng tiếp theo, đầu tiên là tên người, sau đó là danh sách các nhóm mà người đó có thể được phân vào ~\left(1 \leq N \leq 1000;\text{ } M \leq 500\right)~.

Tên người chỉ gồm kí tự chữ cái và có độ dài không quá ~15~ , không có ~2~ người trùng tên. Mã nhóm đánh số từ ~0~ cho đến ~M-1~.

Kết thúc test là hai số ~0~ ~0~.

Output

Hiện ra số người của nhóm mà nhiều người nhất mà thỏa mãn điều kiện trên.

Sample Input

3 2 
John 0 1 
Rose 1 
Mary 1 
5 4 
ACM 1 2 3 
ICPC 0 1  
Asian 0 2 3 
Regional 1 2 
ShangHai 0 2 
0 0

Sample Output

2
2

Bình luận

Hãy đọc nội quy trước khi bình luận.


Không có bình luận tại thời điểm này.