https://www.acmicpc.net/problem/10163
#include <iostream>
#include <vector>
using namespace std;
int N;
vector<vector<int>> list;
int check[2000][2000] = { 0 };
void solution() {
for (int t = 0; t < list.size();t++) {
vector<int> v = list[t];
for (int i = 0; i < v[2]; i++) { //세로
for (int k = 0; k < v[3]; k++) {//가로
check[v[0] + i][v[1] + k] = t+1;
}
}
}
int answer[200] = { 0 };
for (int i = 0; i <= 1001; i++) {
for (int k = 0; k <= 1001; k++) {
if (check[i][k] > 0) {
answer[check[i][k]]++;
}
}
}
for (int i = 1; i <= list.size(); i++) {
cout << answer[i] << endl;
}
}
int main() {
cin >> N;
for (int i = 0; i < N; i++) {
int x, y, w, h;
cin >> x >> y >> w >> h;
list.push_back({ x,y,w,h });
}
solution();
return 0;
}
'전공공부 > 코딩테스트' 카테고리의 다른 글
(c++) 백준 "10158. 개미" (0) | 2022.05.11 |
---|---|
(c++) 프로그래머스 "다리를 지나는 트럭" (0) | 2022.05.10 |
(c++) 백준 "2578. 빙고" (0) | 2022.05.10 |
(c++) 프로그래머스 "[3차] 파일명 정렬" (0) | 2022.05.04 |
(c++) 백준 "2563. 색종이" (0) | 2022.05.04 |