Programming/BOJ

[백준/BOJ] 1531 투명

he1fire 2020. 9. 18. 17:22
728x90

문제 : 1531 투명

 

1531번: 투명

첫째 줄에 N과 M이 주어진다. N은 0보다 크거나 같고, 50보다 작거나 같다. M은 0보다 크거나 같고, 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 종이의 좌표가 주어진다. 왼쪽 아래 모서리의 x, y좌�

www.acmicpc.net

100*100 크기의 그림에서 가려진 그림의 개수를 구하는 문제이다.

배열의 크기가 크지 않기 때문에 통째로 저장한 후

값이 M이상인 곳을 체크해 출력하면 된다.


Code

#include <bits/stdc++.h>
#define ll long long
using namespace std;
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0);
    ll N, M, arr[105][105], ans=0;
    fill(&arr[0][0],&arr[104][105],0);
    cin >> N >> M;
    while (N--){
        ll x1, x2, y1, y2;
        cin >> x1 >> y1 >> x2 >> y2;
        for (int i=x1;i<=x2;i++){
            for (int j=y1;j<=y2;j++){
                arr[i][j]++;
            }
        }
    }
    for (int i=1;i<=100;i++){
        for (int j=1;j<=100;j++){
            if (arr[i][j]>M)
                ans++;
        }
    }
    cout << ans;
    return 0;
}
728x90