[ 2023-06-20 ๐Ÿ† TIL ]

Burkeyยท2023๋…„ 6์›” 20์ผ
0

TIL

๋ชฉ๋ก ๋ณด๊ธฐ
102/157

๋ฐฑ์ค€ 11660๋ฒˆ ํŒŒ์ด์ฌ


๋ฌธ์ œ


์ฝ”๋“œ

import sys

input = sys.stdin.readline
n, m = map(int, input().split())
n_m = []
n_m_sum = [[0 for _ in range(n+1)] for _ in range(n+1)]

for _ in range(n):
  n_m.append(list(map(int, input().split())))
'''
 input == n_m
--------
1 2 3 4
2 3 4 5    
3 4 5 6
4 5 6 7
--------
'''
  
for i in range(1, n+1) :
  for j in range(1, n+1):
    n_m_sum[i][j] = (n_m_sum[i][j-1] + n_m_sum[i-1][j] - 
    n_m_sum[i-1][j-1] + n_m[i-1][j-1])

'''

๋ˆ„์ ํ•ฉ == n_m_sum

[0,  1,    1+2,       1+2+3,        1+2+3+4    ]
[0, 1+2, 1+2+2+3,  1+2+3+2+3+4, 1+2+3+4+2+3+4+5]
                   ...์ƒ๋žต
                   
n_m_sum[i][j-1] + n_m_sum[i-1][j] ํ–ˆ์„ ๋•Œ ์ค‘๋ณต๋˜๋Š” ๊ฐ’์ธ 
n_m_sum[i-1][j-1]์„ ๋นผ์ค€๋‹ค.
'''

for _ in range(m):
  x1, y1, x2, y2 = map(int, input().split())
  print(n_m_sum[x2][y2] - n_m_sum[x2][y1-1] - \ 
  n_m_sum[x1-1][y2] + n_m_sum[x1 - 1][y1 - 1])

'''
x2, y2 ๊ธฐ์ค€์˜ ํฐ ์‚ฌ๊ฐํ˜•์—์„œ ์ œ์™ธ๋˜๋Š” ๋ถ€๋ถ„์„ ์ œ๊ฑฐ ํ•ด์ค€๋‹ค. 
(n_m_sum[x2][y1-1]) ์„ธ๋กœ ์‚ฌ๊ฐํ˜• (y1)๊ณผ 
(n_m_sum[x1-1][y2]) ๊ฐ€๋กœ ์‚ฌ๊ฐํ˜• (x1)์„ ์ œ๊ฑฐํ•ด์ฃผ๊ณ  
์ค‘๋ณต ์‚ญ์ œ๋œ ์‚ฌ๊ฐํ˜•( n_m_sum[x1 - 1][y1 - 1]) ์„ ํ•œ๋ฒˆ ๋”ํ•ด์ค€๋‹ค.  
'''

์–ด๋ ต๋‹ค.. ์ธํ„ฐ๋„ท ์ฐพ์•„์„œ ๊ฐ„์‹ ํžˆ ์ดํ•ดํ–ˆ๋‹ค..

profile
์Šคํƒฏ ์˜ฌ๋ฆฌ๋Š” ์ค‘

0๊ฐœ์˜ ๋Œ“๊ธ€