본문 바로가기

백준

C++[백준]2563번 색종이

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