코딩테스트/BOJ

[백준][누적합] 16507. 어두운 건 무서워

박소민 2023. 8. 30. 17:28
16507. 어두운 건 무서워
 

16507번: 어두운 건 무서워

첫 번째 줄에는 사진의 크기를 의미하는 정수 R, C (1 ≤ R, C ≤ 1,000)와 사진 일부분의 밝기 평균을 알아볼 개수를 의미하는 정수 Q (1 ≤ Q ≤ 10,000)가 주어진다. 다음 R개의 줄에 걸쳐 R×C 크기의 사

www.acmicpc.net

 

  • 누적합 대표 문제
    • 해당 범위의 평균값을 구하는 문제
    • (r1,c1) ~(r2,c2) 까지의 합을 구하기 위해서는
      • graph[r2][c2]-graph[r1-1][c2]-graph[r2][c1-1]+graph[r1-1][c1-1]
r,c,q=map(int,input().split())
graph=[[0 for _ in range(c+1)] for _ in range(r+1)]
for i in range(1,r+1):
    tmp=list(map(int,input().split()))
    for j in range(1,c+1):
        graph[i][j]=graph[i-1][j]+graph[i][j-1]-graph[i-1][j-1]+tmp[j-1]

for _ in range(q):
    r1,c1,r2,c2=map(int,input().split())

    total=graph[r2][c2]-graph[r1-1][c2]-graph[r2][c1-1]+graph[r1-1][c1-1]
    print(total//((r2-r1+1)*(c2-c1+1)))