- 입력을 받는다.
- 회문2 문제를 풀때처럼 zip을 사용해서 전치행렬을 만들어준다.
- zip을 사용해서 하나의 반복문 안에서 세로합이 최대값인지, 가로합이 최대값인지 한번에 계산해준다.
for i in range(10):
n = int(input())
board = [list(map(int, input().split())) for _ in range(100)]
board2 = list(zip(*board))
max_sum = 0
for a, a2 in zip(board, board2):
if max_sum < sum(a):
max_sum = sum(a)
if max_sum < sum(a2):
max_sum = sum(a2)
sums=0
for a in range(100):
sums += board[a][a]
if max_sum < sums:
max_sum = sums
sums = 0
check = [i for i in range(100)]
check2 = [i for i in range(100-1, -1,-1)]
for a in range(100):
sums += board[check[a]][check2[a]]
if max_sum < sums:
max_sum = sums
print("#{} {}".format(i+1, max_sum))