
의문 : 어떻게 좌표들을 두개도아니고 여러개를 받아서 겹치는 부분을 계산할 수 있을까,,??
한번만 겹친다는 전제가 있다면 vector pair써서 어떻게든하겠는데 그걸 알 수가 없잖아.
생각해보니 체크된걸 또 체크해도 변하지 않는게 있다. 바로바로 값을 초기화해주는것
ex 변수 p 값이 1인데 p = 1이라고 해봤자 불변.
그렇다면 도화지 사이즈는 100X100이고 이를 이중배열로 찍어보면 어떨까???? 좌표 점이랑 넓이랑 헷갈릴수도 있으니 좌표가 면을 가리킨다고 보면 안헷갈린다.

이렇게 arr을 101까지 한 이유는 100번째는 99로 표현되기에 101까지해야 배열 넘버가 100까지 존재한다. (헷갈리지않기위해 한것)
일단 좌하단꼭짓점만 좌표를 주니까 +10씩 해야한다. 그게 10~17번 라인

이렇게 더해주면끝
#include <iostream>
using namespace std;
int main(){
int pnum;
cin >> pnum;
int arr[101][101] = {0,};
int x, y;
int sum = 0;
for(int i = 0; i < pnum; i++){
cin >> x >> y;
for(int j = x; j < x + 10; j++){
for(int k = y; k < y+ 10; k++){
arr[j][k] = 1;
}
}
}
for(int i = 1; i < 101; i++){
for(int j = 1; j < 101; j++){
if(arr[i][j] == 1){
sum++;
}
}
}
cout <<sum;
}
'🖋️PS' 카테고리의 다른 글
Multimax c++ 14753 (0) | 2023.01.09 |
---|---|
수열 2559 c++ queue,vector,sort (0) | 2023.01.08 |
백준 단어뒤집기2 17413 c++(이중vector, tag기능) (1) | 2022.12.24 |
좌표정렬하기 11650 c++(pair, vector, 정렬) (0) | 2022.12.23 |
덱 10866 c++ (0) | 2022.12.23 |