반응형
● 문제 접근 과정
1. 가로, 세로의 크기가 각각 100인 정사각형 모양의 흰색 도화지가 있다. 이 도화지 위에 가로, 세로의 크기가 각각 10인 정사각형 모양의 검은색 색종이를 색종이의 변과 도화지의 변이 평행하도록 붙인다. 이러한 방식으로 색종이를 한 장 또는 여러 장 붙인 후 색종이가 붙은 검은 영역의 넓이를 구하는 프로그램을 작성하시오.
2. 일단 100의 도화지를 마련하기 위해 arr[101][101]을 생성
3. 입력 값 만큼 입력을 받고, 가로, 세로의 크기가 각각 10이기 때문에 +10 만큼 반복
4. 도화지가 붙혀진 부분은 1로 표시를 하고, 없는 부분은 0으로 표시
5. 카운팅을 해준 뒤 출력을 하면 끝.
● 구현
#include <iostream>
#include <string>
using namespace std;
int main() {
int arr[101][101] = {0};
int n, x, y;
int area = 0;
cin >> n;
for (int k = 0; k < n; k++) {
cin >> x >> y;
for (int i = x; i < x + 10; i++) {
for (int j = y; j < y + 10; j++) {
if (arr[i][j] == 0) {
arr[i][j] = 1;
area++;
}
}
}
}
cout << area;
return 0;
}
반응형