グリッドの最大値と


ナビゲーション&シミュレーション(文字列、1 Dおよび2 Dリストナビゲーション)
に質問
グリッドの最大値と
5*=*5グリッドボードの数字は次のとおりです.
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19
N*Nのグリッドが指定されている場合、各行、列、および2つの対角線の最大和が出力されます.
■説明の入力
最初の行は自然数Nを与える.(1<=N<=50)
2行目から、行ごとにN個の自然数があります.各自然数は100を超えない.
■出力説明
最大和を出力します.
■入力例1
5
10 13 10 12 15
12 39 30 23 11
11 25 50 53 15
19 27 29 37 27
19 13 30 13 19
■出力例1
155
コード#コード#💻
import sys
#sys.stdin=open("input.txt", "rt")  # read text
n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]   # 2중 리스트
largest = -2147000000

for i in range(n):
    sum1 = sum2 = 0     # 행의 합 = 열의 합 = 0
    for j in range(n):
        sum1 += a[i][j] # 행의 합
        sum2 += a[j][i] # 열의 합
    if sum1 > largest:
        largest = sum1
    if sum2 > largest:
        largest = sum2

# 두 대각선 각각의 합
sum1=sum2=0
for i in range(n):
    sum1+=a[i][i]
    sum2+=a[i][n-i-1]

if sum1 > largest:
    largest = sum1
if sum2 > largest:
    largest = sum2

print(largest)
リファレンス
  • インフラストラクチャ:Pythonアルゴリズム回答