728x90

https://www.acmicpc.net/problem/1051

 

1051번: 숫자 정사각형

N×M크기의 직사각형이 있다. 각 칸에는 한 자리 숫자가 적혀 있다. 이 직사각형에서 꼭짓점에 쓰여 있는 수가 모두 같은 가장 큰 정사각형을 찾는 프로그램을 작성하시오. 이때, 정사각형은 행

www.acmicpc.net

m, n = map(int, input().split())
mn = min(m, n)

a = []
for _ in range(m):
    a.append(list(input()))
    
def func():
    for k in range(mn-1, 0, -1):  # k : 변의 길이
        for j in range(m-k):
            for i in range(n-k):
                if a[j][i] == a[j][k+i] and a[j][k+i] == a[j+k][i] and a[j+k][i] == a[j+k][k+i]:
                    print((k+1)*(k+1))
                    return
                    
    if result == 0:
        print(1)
        return
        
func()

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기