여름의 서재
[SWEA] 1216_회문2 본문
728x90
📕 문제
주어진 100x100 평면 글자판에서 가로, 세로를 모두 보아 가장 긴 회문의 길이를 구하는 문제
def long_palindrome(N, M, matrix):
for i in range(N):
for j in range(0, N-M+1):
if matrix[i][j] == matrix[i][j+M-1]:
for k in range(1, M):
if matrix[i][j+k] != matrix[i][j+M-1-k]:
break
else: return True
for i in range(N):
for j in range(0, N-M+1):
if matrix[j][i] == matrix[j+M-1][i]:
for k in range(1, M):
if matrix[j+k][i] != matrix[j+M-1-k][i]:
break
else: return True
return False
for tc in range(10):
T = int(input())
matrix = [list(input()) for _ in range(100)]
for M in range(100, -1, -1):
if long_palindrome(100, M, matrix):
break
print('#{0} {1}'.format(tc+1, M))
'알고리즘 > SWEA' 카테고리의 다른 글
[SWEA] 4869_종이붙이기 (DP 이용) (0) | 2021.08.18 |
---|---|
[SWEA] 2005_파스칼의 삼각형 (0) | 2021.08.18 |
[SWEA] 3143_가장 빠른 문자열 타이핑 (0) | 2021.08.17 |
[SWEA] 5432_쇠막대기 자르기 (0) | 2021.08.17 |
[SWEA] 4861_회문 (0) | 2021.08.17 |
Comments