https://www.acmicpc.net/problem/2563
2563번: 색종이
첫째 줄에 색종이의 수가 주어진다. 이어 둘째 줄부터 한 줄에 하나씩 색종이를 붙인 위치가 주어진다. 색종이를 붙인 위치는 두 개의 자연수로 주어지는데 첫 번째 자연수는 색종이의 왼쪽 변
www.acmicpc.net
솔루션
도화지 크기가 100*100이여서, bool 타입으로 배열을 잡고,
색종이의 왼쪽 아래 지점이 입력으로 들어오면,
각각 r,c의 +10만큼 bool 배열을 true로 바꿔주었다.
바꿔주면서 만약 true가 아니었다면, 색종이가 하얀색에서 검정색으로 바뀌는 부분이므로 ++를 해 주었다.
코드
#include <iostream>
using namespace std;
bool arr[102][102];
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL); cout.tie(NULL);
int tc;
cin >> tc;
int cnt = 0;
while (tc--) {
int c, r;
cin >> c >> r;
for (int i = r; i < r+10; i++) {
for (int j = c; j < c+10; j++) {
if (!arr[i][j]) cnt++;
arr[i][j] = true;
}
}
}
cout << cnt << "\n";
}
'백준' 카테고리의 다른 글
C++[백준]17103번 골드바흐 파티션 (0) | 2023.01.26 |
---|---|
C++[백준]12026번 BOJ 거리 (0) | 2023.01.26 |
C++[백준]2566번 최댓값 (0) | 2023.01.17 |
C++[백준]1516번 게임 개발 (0) | 2023.01.17 |
C++[백준]1774번 우주신과의 교감 (0) | 2023.01.13 |