Koala - 12기/코딩테스트 준비 스터디
[백준/C++] 16507번: 어두운건 무서워
Langerak
2023. 9. 30. 21:45
문제
풀이
R*C 크기의 사진에 대한 밝기가 주어지면, 사진의 일부분에 해당하는 밝기 평균을 구하는 문제이다.
2차원 배열의 누적합을 구하고, 사진의 일부분의 가로*세로로 나누어주면 된다.
코드
#include <bits/stdc++.h>
using namespace std;
int R, C, Q;
int picture[1001][1001];
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> R >> C >> Q;
for (int i = 1; i <= R; i++) {
for (int j = 1; j <= C; j++) {
cin >> picture[i][j];
picture[i][j] += picture[i - 1][j] + picture[i][j - 1] - picture[i - 1][j - 1];
}
}
int r1, c1, r2, c2;
for (int i = 0; i < Q; i++) {
cin >> r1 >> c1 >> r2 >> c2;
cout << (picture[r2][c2] + picture[r1 - 1][c1 - 1] - picture[r2][c1 - 1] - picture[r1 - 1][c2]) / ((r2 - r1 + 1) * (c2 - c1 + 1)) << endl;
}
return 0;
}