알고리즘
백준 1531번 투명 C++
영춘권의달인
2022. 4. 30. 10:26
100*100 배열에 입력받을때마다 수를 증가시켜서 최종적으로 m보다 크면 안보이는 것이다.
그리고 입력이 x,y좌표로 주어지는데 row, col로 그냥 써도 상관없을 것 같아서 변환하지 않고 사용하였다.
#include <iostream>
#include <string>
#include <vector>
#include <math.h>
#include <algorithm>
#include <utility>
#include <stack>
#include <queue>
#include <math.h>
#include <set>
#include <map>
#include <unordered_map>
#include <unordered_set>
#include <iomanip>
using namespace std;
using ll = long long;
vector<vector<int>> board(101, vector<int>(101, 0));
void Solve(int row1, int row2, int col1, int col2) {
for (int i = row1; i <= row2; i++) {
for (int j = col1; j <= col2; j++) {
board[i][j]++;
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n, m;
cin >> n >> m;
for (int i = 0; i < n; i++) {
int row1, row2, col1, col2;
cin >> row1 >> col1 >> row2 >> col2;
Solve(row1, row2, col1, col2);
}
int cnt = 0;
for (int i = 1; i <= 100; i++) {
for (int j = 1; j <= 100; j++) {
if (board[i][j] > m) cnt++;
}
}
cout << cnt;
};