りんごの木


ナビゲーション&シミュレーション(文字列、1 Dおよび2 Dリストナビゲーション)


に質問


りんごの木


賢洙の農場はN*Nの格子板で構成されており、格子ごとにリンゴの木が植えられている.nの大きさは常に奇数である.秋になるとリンゴが収穫され、賢洙は格子板のリンゴを収穫する時、ダイヤモンドの形をした格子板だけを収穫し、格子のリンゴを残して鳥たちに残した.
Nが5であれば、下図のような深部リンゴが収穫される.

懸垂と収穫したりんごの総数を出力してください.
■説明の入力
1行目は自然数N(奇数)を与える.(3<=N<=20)
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
379

コード#コード#💻

import sys
#sys.stdin=open("input.txt", "rt")  # read text
n = int(input())
a = [list(map(int, input().split())) for _ in range(n)]   # 2중 리스트
res = 0

s = e = n // 2          # n은 홀수만 들어옴

for i in range(n):
    for j in range(s, e + 1):
        res += a[i][j]
    if i < n // 2:      
        s -= 1
        e += 1
    else:
        s += 1
        e -= 1

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