문제
풀이
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;
}
'Koala - 12기 > 코딩테스트 준비 스터디' 카테고리의 다른 글
[백준/python3] 1654번 : 랜선 자르기 (0) | 2023.10.01 |
---|---|
[C++/백준] 21921번 : 블로그 (0) | 2023.10.01 |
[프로그래머스/Python] 실패율 (0) | 2023.09.26 |
[백준/phthon3] 2467번: 용액 (0) | 2023.09.25 |
[백준 Python] 1966번: 프린터 큐 (0) | 2023.09.24 |