본문 바로가기
[C++] 백준

[백준 16507번] 어두운 것은 무서워

by 말하는 감자 처음 보세요? 2023. 7. 25.

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

 

16507번: 어두운 건 무서워

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

www.acmicpc.net

 

📍2차원 배열합의 문제


📍풀이과정

1. 처음에는 그냥 막연하게 이중 for문으로 풀려고 했는데 실패,, => 그 이유는 arr[1000][1000]으로 잡았기 때문임

2. 그럼 가로합 & 세로합을 만들어서 풀어야 할 듯


📍풀이과정

 

#include <iostream>
#include <cstdio>
using namespace std;

const int MAX =1000;
int arr[MAX][MAX];
int sum[MAX][MAX];
int temp;

int main(){
    int n,m,q;
    scanf("%d %d %d",&n,&m,&q);
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
           cin>>arr[i][j];
        }
    }

    //가로 방향 구간합
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            sum[i][j]=sum[i][j-1]+arr[i][j];
        }
    }

    //세로 방향 구간합
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            sum[j][i]=sum[j-1][i]+sum[j][i];
        }
    }

    //이제 나누기 및 전체 합
    while(q--){
        int r1, c1, r2, c2;
        scanf("%d %d %d %d",&r1,&c1,&r2,&c2);
        cout<<(sum[r2][c2]-sum[r1-1][c2]-sum[r2][c1-1]+sum[r1-1][c1-1])/((r2-r1+1)*(c2-c1+1)) << '\n';
    }
    return 0;
}
#include <iostream>
#include <cstdio>
using namespace std;

int arr[1001][1001];
int sum[1001][1001];

int main(){
    int n,m,q;
    cin>>n>>m>>q;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
           cin>>arr[i][j];
        }
    }

    //가로 방향 구간합
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            sum[i][j]=sum[i][j-1]+arr[i][j];
        }
    }

    //세로 방향 구간합
    for(int i=1;i<=m;i++){
        for(int j=1;j<=n;j++){
            sum[j][i]=sum[j-1][i]+sum[j][i];
        }
    }

    //이제 나누기 및 전체 합
    while(q--){
        int r1, c1, r2, c2;
        cin >> r1 >> c1 >> r2 >> c2;
        cout<<(sum[r2][c2]-sum[r1-1][c2]-sum[r2][c1-1]+sum[r1-1][c1-1])/((r2-r1+1)*(c2-c1+1)) << '\n';
    }
    return 0;
}

'[C++] 백준' 카테고리의 다른 글

[백준 1302번]베스트셀러  (0) 2023.08.02
[백준 2776번] 암기왕  (0) 2023.08.02
[백준 1966번] 프린터 큐  (0) 2023.07.26
[백준 2947번] 나무조각  (0) 2023.07.25
[백준 1551번] 수열의 변화  (0) 2023.07.25

댓글