알고리즘

백준 11660 구간 합 구하기 2

별은_StarIs_Dev 2025. 1. 12. 23:44
반응형
#구간합 구하기 2
#백준 11660
#X1,Y1,X2,Y2에 대한 답을 구간합으로 구하는 방법
#D[X2][Y2]-D[X1-1][Y2]-D[X2][Y1-1]+D[X1-1][Y1-1]
#슈도코드 작성
#N(리스트 크기), M(질문 갯수)
#A(원본리스트), D(합 배열)
#for n만큼 반복 : 원본리스트 데이터 저장
#for i를 1부터 n까지 반복: for j를 1부터 n까지 반복: 합배열 저장
#for m만큼 반복 : 질의에 대한 결과 계산 및 출력
#결과 = d[x2][y2]-d[x1-1][y2]-d[x2][y1-1]+d[x1-1][y1-1]
import sys
n, m = map(int, input().split())
A = [[0] * (n+1)]
D = [[0] * (n+1) for _ in range(n+1)]

for i in range(n):
    A_row = [0] + [int(x) for x in input().split()]
    A.append(A_row)

for i in range(1, n+1):
    for j in range(1, n+1):
        D[i][j] = D[i-1][j] + D[i][j-1] - D[i-1][j-1] + A[i][j]
for _ in range(m):
    x1, y1, x2, y2 = map(int, input().split())
    print(D[x2][y2] - D[x1-1][y2] - D[x2][y1-1] + D[x1-1][y1-1])
반응형

'알고리즘' 카테고리의 다른 글

백준 5597 과제 안내신 분?  (0) 2025.01.18
기초 자료구조 1. 배열  (0) 2025.01.18
백준 11659 구간 합 구하기  (0) 2025.01.08
백준 1546 평균구하기  (0) 2025.01.07
백준 11720 숫자의 합 구하기  (0) 2025.01.07