100 * 100 테이블에서 회문을 찾고 가장 길이가 긴 회문의 길이를 출력
가로(행)에서 회문 탐색
하나의 행에서 회문의 길이가 최대 100부터 1씩 감소하며 이어지는 문자열 검색
뒤에서 부터 탐색하기 때문에 기존의 회문이 발견되면 기존의 최대 길이와 비교후 다음 행으로
세로(열)에서 회문 탐색
하나의 열에서 회문의 길이 1부터 최대 100 까지 1씩 증가하며 이어지는 문자열 검색
회문이 발견되면 기존의 최대 길이와 비교
길이가 1인 경우부터 비교하기 때문에 하나의 행에서 최대 길이가 될때 까지 회문의 여부를 확인해야한다.
for t in range(10):
test_number = int(input())
board = []
for _ in range(100):
board.append(input())
row_max = 0
for i in range(100):
for j in range(100):
for k in range(100-j):
row_string = board[i][j:101-k]
if row_string == row_string[::-1]:
row_max = max(row_max, len(row_string))
break
col_max = 0
for i in range(100):
for j in range(100):
col_string = ''
for k in range(100-j):
col_string += board[j+k][i]
if col_string == col_string[::-1]:
col_max = max(col_max, len(col_string))
result = max(row_max, col_max)
print("#{} {}".format(test_number, result))