HÌNH VUÔNG 01 (SPOJ) - mã: QBSQUARE







Cho mt bng kích thước MxN, được chia thành lưới ô vuông đơn v M dòng N ct ( 1 <= M, N <= 1000 )

Trên các ô ca bng ghi s 0 hoc 1. Các dòng ca bng được đánh s 1, 2... M theo th t t trên xung dưới và các ct ca bng được đánh s 1, 2..., N theo th t t trái qua phi

Yêu cu:

Hãy tìm mt hình vuông gm các ô ca bng tho mãn các điu kin sau:

1 - Hình vuông là đng nht: tc là các ô thuc hình vuông đó phi ghi các s ging nhau (0 hoc 1)

2 - Cnh hình vuông song song vi cnh bng.

3 - Kích thước hình vuông là ln nht có th

Input


Dòng 1: Ghi hai s m, n

M dòng tiếp theo, dòng th i ghi N s mà s th j là s ghi trên ô (i, j) ca bng

Output


Gm 1 dòng duy nht ghi kích thước cnh ca hình vuông tìm được

Example


Input:
11 13

0 0 0 0 0 1 0 0 0 0 0 0 0

0 0 0 0 1 1 1 0 0 0 0 0 0

0 0 1 1 1 1 1 1 1 0 0 0 0

0 0 1 1 1 1 1 1 1 0 0 0 0

0 1 1 1 1 1 1 1 1 1 0 0 0

1 1 1 1 1 1 1 1 1 1 1 0 0

0 1 1 1 1 1 1 1 1 1 0 0 0

0 0 1 1 1 1 1 1 1 0 0 0 0

0 0 1 1 1 1 1 1 1 0 0 0 0

0 0 0 0 1 1 1 0 0 0 0 1 1

0 0 0 0 0 1 0 0 0 0 0 1 1

 
Output:
7

========================================
Thut toán: Quy hoch đng:
- F[i,j] là kích thước ca hình vuông tính đến ô (i,j):
F[i,j]=max(F[i-1,j],F[i,j-1],F[i-1,j-1])+1 nếu A[i,j]=Ai-1,j]=A[i,j-1]=A[i-1,j-1] ngược li F[i,j]=1
- Kết qu ca bài toán là max(F[i,j])  (1<=i<=m và 1<=j<=n)
========================================
Code: QBSQUARE
 
CẢM ƠN CÁC BẠN ĐÃ XEM !!! ×