alpyrithm_알파이리즘

[알고리즘][Python] 백준(BOJ) 1051 숫자 정사각형_파이썬 본문

Algorithm/백준 알고리즘_Python

[알고리즘][Python] 백준(BOJ) 1051 숫자 정사각형_파이썬

알파이 2021. 4. 2. 08:09

 

Brute Force, 구현

1051 숫자 정사각형    www.acmicpc.net/problem/1051

 

1051번: 숫자 정사각형

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

www.acmicpc.net

 

 

 

문제 풀기 전 공부할 것 : 구현, 브루트포스 알고리즘

 

 

 

 

 

 

 

풀이

<내용>

  • 구체적인 단계 풀이가 필요하신 분은 댓글 남겨주세요.

 

<코드>

import sys
input = sys.stdin.readline

n, m = map(int, input().split())
square = [list(map(int, input().rstrip())) for _ in range(n)]
s = min(n, m)
res = 1
flag = False
for k in range(s, 1, -1):
    if flag:
        break
    for i in range(n-k+1):
        if flag:
            break
        for j in range(m-k+1):
            stand = square[i][j]
            if stand == square[i+k-1][j] and stand == square[i][j+k-1] and stand == square[i+k-1][j+k-1]:
                res = k
                flag = True
                break
                
print(res**2)

 

 

 

 

 

 

 

 

 

 

 

반응형
Comments