728x90
https://www.acmicpc.net/problem/15724
누적합 문제이다
백준 11660 구간합 구하기 5 문제를 지난주에 풀었어서 복습하는 차원으로 풀었다.
https://www.acmicpc.net/problem/11660
import sys
input = sys.stdin.readline
n, m = map(int, input().split())
array = [[0]*(m+1)]
for _ in range(n):
array.append([0]+list(map(int, input().split())))
# 누적합 구하기
for i in range(1, n+1):
for j in range(1, m):
array[i][j+1] += array[i][j]
for j in range(1, m+1):
for i in range(1, n):
array[i+1][j] += array[i][j]
k = int(input())
for _ in range(k):
x1, y1, x2, y2 = map(int, input().split())
result = array[x2][y2] - array[x1-1][y2] - array[x2][y1-1] + array[x1-1][y1-1]
print(result)
728x90
'Algorithm (PS)' 카테고리의 다른 글
[백준/Boj] 5557 1학년 Python 풀이 (0) | 2022.11.20 |
---|---|
프로그래머스 - 네트워크 Python (DFS풀이) (0) | 2022.11.18 |
22856 트리 순회 python 풀이 (0) | 2022.11.16 |
[백준] 2294 동전 2 Python (DP문제) (0) | 2022.11.12 |
[프로그래머스] 행렬 테두리 회전하기 Python (0) | 2022.11.11 |