Làm sạch

Xem dạng PDF

Gửi bài giải

Điểm: 0,30 (OI)
Giới hạn thời gian: 1.0s
Giới hạn bộ nhớ: 256M
Input: stdin
Output: stdout

Nguồn bài:
HSG tỉnh Quảng Ninh 2017 - Bảng A
Dạng bài
Ngôn ngữ cho phép
C, C++, Go, Java, Kotlin, Pascal, PyPy, Python, Rust, Scratch

An đang quét dọn phòng. Phòng được chia thành một lưới ô vuông gồm ~n~ hàng, ~n~ cột. Ban đầu mỗi ô vuông hoặc sạch hoặc bẩn. An chỉ có thể quét chổi trên các cột của lưới. Nó không cho phép quét một phần của cột mà chỉ có thể quét toàn bộ cột. Chổi của An rất kỳ lạ: nếu quét qua một ô sạch thì nó sẽ thành bẩn và nếu quét qua một ô bẩn thì nó sẽ trở thành sạch. An muốn quét một số cột của phòng sao cho số hàng sạch hoàn toàn (tất cả các ô của hàng đều sạch) là lớn nhất.

Hãy tính số hàng tối đa mà An có thể làm sạch hoàn toàn.

Dữ liệu:

  • Dòng đầu tiên chứa số nguyên ~n (1 \le n \le 1000)~.
  • Dòng thứ ~i~ trong ~n~ dòng tiếp theo chứa một xâu nhị phân gồm ~n~ kí tự biểu thị trạng thái của hàng thứ ~i~ của phòng. Kí tự thứ ~j~ trên hàng này là '~1~' nếu ô ở hàng ~i~, cột ~j~ là sạch hoặc '~0~' nếu ô là bẩn.

Kết quả:

  • Ghi ra một số nguyên là số hàng tối đa mà An có thể làm sạch hoàn toàn.

Ví dụ:

Sample Input 1
4
0101
1000
1111
0101
Sample Output 2
2
Sample Input 2
3
111
111
111
Sample Output 2
3

Giải thích:

  • Ví dụ 1. An có thể quét cột ~1~ và ~3~. Khi đó hàng ~1~ và ~4~ là được làm sạch hoàn toàn.
  • Ví dụ 2. Mọi hàng đã sạch hoàn toàn, vì vậy An không phải làm gì cả.

Subtasks:

  • Subtask ~1 (30\%): n \le 20~.
  • Subtask ~2 (30\%): n \le 300~.
  • Subtask ~3 (40\%):~ Như ràng buộc trong đề bài.

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.