For Programmer
백준 11660번 파이썬 문제풀이(구간 합 구하기 5) 본문
728x90
import sys
input = sys.stdin.readline
N, M = map(int, input().split())
arr = ([[0] * (N + 1)]) + [[0] + list(map(int, input().split())) for _ in range(N)]
# 2차원 누적합 구하기
prefix = ([[0] * (N + 1)]) + [[0] * (N + 1) for _ in range(N)]
for i in range(1, N + 1):
for j in range(1, N + 1):
prefix[i][j] = prefix[i - 1][j] + prefix[i][j - 1] - prefix[i - 1][j - 1] + arr[i][j]
for _ in range(M):
x1, y1, x2, y2 = map(int, input().split())
print(prefix[x2][y2] - prefix[x1 - 1][y2] - prefix[x2][y1 - 1] + prefix[x1 - 1][y1 - 1])
728x90
'코팅테스트 > 백준 문제 모음' 카테고리의 다른 글
백준 14846번 파이썬 문제풀이(직사각형과 쿼리) (0) | 2022.03.28 |
---|---|
백준 14453번 파이썬 문제풀이(Hoof, Paper, Scissors (Silver)) (0) | 2022.03.27 |
백준 11659번 파이썬 문제풀이(구간 합 구하기 4) (0) | 2022.03.27 |
백준 2250번 파이썬 문제풀이(트리의 높이와 너비) (0) | 2022.03.25 |
SWEA 4366번 파이썬 문제풀이(정식이의 은행 업무) (0) | 2022.03.25 |
Comments