Gửi bài giải
Điểm:
0,25 (OI)
Giới hạn thời gian:
1.0s
Giới hạn bộ nhớ:
512M
Input:
stdin
Output:
stdout
Nguồn bài:
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch
Cho một bảng hình chữ nhật có ~N~ dòng và ~M~ cột gồm các chữ cái in thường từ ~'a'~ đến ~'z'~. Bảng này có tính chất: ở mỗi cột, khi ghép các kí tự từ trên xuống dưới sẽ thu được một xâu đại diện và trong bảng các xâu đại diện là đôi một khác nhau.
Yêu cầu: Hãy tìm cách xoá nhiều nhất các dòng (lần lượt từ dòng đầu tiên xuống dưới) của bảng để thu được một bảng mới vẫn đảm bảo tính chất trên (Chỉ được xoá tối đa ~N-1~ dòng).
Dữ liệu:
- Dòng đầu tiên chứa hai số nguyên ~N~ và ~M~;
- ~N~ dòng sau, mỗi dòng chứa một xâu có dộ dài ~M~.
Kết quả:
- Ghi ra một số duy nhất là kết quả của bài toán.
Ví dụ:
Sample Input
5 4
qwpt
abcf
bvoa
abka
bbhb
Sample Output
2
Giải thích:
Xoá tối đa ~2~ dòng đầu. Nếu xoá cả dòng thứ ~3~ thì cột đầu tiên và cột cuối cùng sẽ giống nhau(không thoả mãn tính chất của bảng).
Giới hạn:
- Có ~40\%~ số test tương ứng với ~40\%~ số điểm có ~N, M \le 100~;
- Có ~30\%~ số test khác tương ứng với ~30\%~ số điểm có ~N, M \le 500~;
- Có ~30\%~ số test còn lại tương ứng với ~30\%~ số điểm có ~N, M \le 5000~.
Bình luận