얼렁뚱땅 백준 문제풀이

[백준 문제풀이] 얼렁뚱땅 11660 구간 합 구하기 5 풀이

MOSTAR 2022. 10. 22. 15:37

https://www.acmicpc.net/problem/11660

 

11660번: 구간 합 구하기 5

첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네

www.acmicpc.net

 

import sys

n, tc = map(int,sys.stdin.readline().split())
arr = [list(map(int,sys.stdin.readline().strip().split())) for _ in range(n)]

sum_array = [[0]*(n+1) for _ in range(n+1)]
for i in range(1,n+1) :
    for j in range(1,n+1) :
        sum_array[i][j] = sum_array[i-1][j] + sum_array[i][j-1] + arr[i-1][j-1] - sum_array[i-1][j-1]

for _ in range(tc) :
    x1, y1, x2, y2 = map(int,sys.stdin.readline().split())
    print(sum_array[x2][y2] - sum_array[x2][y1-1] - sum_array[x1-1][y2] + sum_array[x1-1][y1-1])

DP.. 넘모 어려워 .............................