아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

최대 정사각형

시간 제한5초메모리 제한256 MB

요약
0과 1로 이루어진 행렬에서 모두 1로 채워진 가장 큰 정사각형 부분행렬의 한 변의 길이를 구한다.
난이도

보통10점 중 5점

유형
동적 계획법, 행렬
정답자
아직 제출이 없습니다

문제

00과 11로 이루어진 N×MN \times M 크기의 행렬이 주어졌을 때, 11로만 이루어진 가장 큰 정사각형 부분 행렬을 찾는 프로그램을 작성하시오.

입력

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스의 첫째 줄에는 NN과 MM이 주어진다 (1≤N,M≤1,0001 \le N, M \le 1{,}000). 다음 NN개의 줄에는 공백으로 구분된 MM개의 수가 주어진다. 마지막 줄에는 00이 두 개 주어진다.

출력

각 테스트 케이스에 대해, 가장 큰 정사각형의 한 변의 길이(너비 또는 높이)를 출력한다. 그런 정사각형이 없으면 00을 출력한다.

예제1

  1. 예제 1

    입력
    4 5
    0 1 0 1 1
    1 1 1 1 1
    0 1 1 1 0
    1 1 1 1 1
    3 4
    1 1 1 1
    1 1 1 1
    1 1 1 1
    6 6
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0 0 0 0 0
    0 0
    
    예상 출력
    3
    3
    0