[COCI0607 - Contest 01] Bài 6: DEBUG

Xem PDF

Nộp bài

Điểm: 100 (thành phần)
Thời gian: 1.0s
Bộ nhớ: 1G
Input: bàn phím
Output: màn hình

Tác giả:
Dạng bài

Trong lúc sửa chương trình, Mirko để ý rằng một lỗi trong chương trình có thể liên kết với sự tồn tại của một thứ gọi là "square killers" trong bộ nhớ chương trình.

Bộ nhớ chương trình là một ma trận gồm R dòng và C cột bao gồm các ký tự 0 và 1. Một "square killer" là một ma trận con vuông trong bộ nhớ, gồm nhiều hơn một ký tự, sao cho khi xoay ma trận con đó 180 độ, nó vẫn trông y hệt ma trận con ban đầu. Ví dụ dưới đây là "square killer":

101010 
111001 
101001 
memory
....10 
....01 
...... 
killer
...... 
...00. 
...00. 
killer
101... 
111... 
101... 
killer

Mirko đang tự hỏi liệu có mối liên kết nào giữa kích thước của "square killer" lớn nhất và lỗi trong chương trình không. Hãy giúp Mirko bằng cách viết một chương trình, cho trước bố cục của bộ nhớ, đưa ra kích thước của "square killer" lớn nhất. Kích thước của "square killer" là số hàng (hoặc cột) mà "killer" bao gồm. Trong ví dụ ở trên, các kích thước của "killer" là 2, 2 và 3, tương ứng.


Input
  • Dòng đầu gồm 2 số nguyên ~R~ và ~C~ (R, C <= 300).
  • ~R~ dòng tiếp theo, mỗi dòng gồm ~C~ ký tự ('0' hoặc '1').
Output

In ra kích thước lớn nhất của square killer, hoặc -1 nếu không tồn tại

Sample input 1
3 6 
101010 
111001 
101001
Sample output 1
3
Sample input 2
4 5 
10010 
01010 
10101 
01001
Sample output 2
3

Bình luận đầu tiên

Bình luận

Không có bình luận nào.