https://www.acmicpc.net/problem/2563
풀이
#include <iostream>
#include <vector>
using namespace std;
int main(){
vector<vector<bool>> v(100,vector<bool>(100,false));
int n;
cin >> n;
int result{0};
for(int i{0};i<n;++i){
int a,b;
cin >> a >> b;
for(int l{a};l<a+10;++l){
for(int bot{b};bot<b+10;++bot){
if(v[l][bot]==false){
v[l][bot]=true;
result++;
}
}
}
}
cout << result << endl;
return 0;
}
100 x 100 bool 벡터를 만들고 각 색종이 케이스에 대해 검은 종이 범위 안에 있으면 true로 바꾸는 방식으로 벡터를 업데이트 하였다. false -> true로 바꿀 때 바꾼 횟수를 세어 출력하면 면적을 구할 수 있다.
'코딩테스트 > [백준]단계별로풀어보기(C++)' 카테고리의 다른 글
[백준][1차원배열] 2526번 : 최댓값 (C++) (0) | 2024.03.26 |
---|---|
[백준][1차원배열]1546번 : 평균 (C++) (0) | 2024.03.26 |
[백준][2차원배열] 10798번 : 세로 읽기 (C++) (0) | 2024.03.17 |
[백준][2차원배열] 2738번 : 행렬 덧셈 (C++) (0) | 2024.03.17 |
[백준]10172번 : 개 (C++) (0) | 2024.03.17 |