Xoá dòng

Xem dạng PDF

Gửi bài giải

Điểm: 100,00 (OI)
Giới hạn thời gian: 1.5s
Giới hạn bộ nhớ: 1G
Input: DELROW.INP
Output: DELROW.OUT

Nguồn bài:
HNOI2020C2
Dạng bài
Ngôn ngữ cho phép
C++, Pascal, Python

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 nhập vào từ file văn bản DELROW.INP:

  • Dòng đầu tiên chứa hai số nguyên ~N~ và ~M~ cách nhau một dấu cách~;~
  • ~N~ dòng sau, mỗi dòng chứa một xâu có dộ dài ~M.~

Kết quả ghi ra file văn bản DELROW.OUT:

Gồm một số duy nhất là kết quả của bài toán.

Ví dụ

Input
5 4
qwpt
abcf
bvoa
abka
bbhb
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 số điểm có ~N,M≤100;~
  • ~30\%~ số test khác tương ứng với số điểm có ~N,M≤500;~
  • ~30\%~ số test còn lại tương ứng với số điểm có ~N,M≤5000.~