CRAYON
Trạng thái
Đề bài
YugiHacker là một họa sĩ nghiệp dư. Để vẽ được một bức tranh đẹp, người họa sĩ cần có đủ 10 màu, đại diện bởi các chữ số từ \(0\) đến \(9\).
YugiHacker có \(n\) hộp màu, mỗi hộp được biểu diễn bằng một xâu \(S_i\) gồm các ký tự từ '0' đến '9' (có thể trùng nhau trong cùng một hộp).
Hãy tính số lượng hộp màu ít nhất có thể để YugiHacker vẽ được một bức tranh đẹp, tức là tổng hợp lại đủ cả 10 màu. Nếu không thể chọn được tổ hợp nào đủ 10 màu, in ra -1.
Dữ liệu vào
- Dòng đầu tiên chứa số nguyên \(T\) — số lượng test (1 \leq \(T\) \leq 10).
- Với mỗi test:
- Dòng đầu chứa số nguyên \(n\) — số lượng hộp màu (\(n \leq 1000\)).
- \(n\) dòng tiếp theo, mỗi dòng là một xâu \(S_i\) (\(|S_i| \leq 1000\)) — biểu diễn các màu trong hộp thứ \(i\).
Dữ liệu ra
- Với mỗi test, in ra một dòng là số lượng hộp màu ít nhất cần chọn. Nếu không có cách nào chọn đủ 10 màu, in ra
-1.
Sample Input
2
4
01234
56789
01456
13452
4
11234
56789
01456
13452
Sample Output
2
3
Giải thích
- Testcase 1: Có thể chọn hộp 1 và hộp 2 là đủ 10 màu từ 0 đến 9.
- Testcase 2: Cần chọn hộp 1, 2 và 3 để đủ tất cả các màu.
Thông tin
Thông tin bài tập
Điểm
100
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
250 M
I/O
stdin -> stdout
Tác giả
Loại đề bài
Phương pháp: Quy hoạch động
Ngôn ngữ cho phép
C, C#, C++, Java, Pascal, Python, Text