반응형
문제
https://www.acmicpc.net/problem/2630
풀이
그림으로 설명이 잘 되어있는 문제입니다.
처음에는 n * n 종이를 검사해서, 전체 종이가 같은색으로 칠해져 있는지 확인해주고,
0으로 같은색이라면 흰색, 1로 같은색이라면 파랑색 종이를 세어 줍시다.
전부 같은색인지 확인을 해주기 위해서는 0의 개수와 1의 개수를 세어서 그 갯수가 n * n 의 갯수라면 전부 같은 색입니다.
같은 색이 아니라면, 한 변을 n / 2 로 갖는 종이로 나누어 줍시다.
그렇다면 총 4개의 종이가 생길 것입니다.
이 4개의 종이에 대해서 위의 동작을 반복해줍시다.
소스코드
후기
재귀적으로 자신을 호출하면서 그 연산의 단위를 조금씩 줄어가는 방식인 분할 정복 기법을 사용하여 풀이할 수 있는 문제입니다.
반응형
'PS > 백준' 카테고리의 다른 글
[BOJ] 백준 1780 종이의 개수 (Swift) (0) | 2023.04.11 |
---|---|
[BOJ] 백준 1992 쿼드트리 (Swift) (0) | 2023.04.11 |
[BOJ] 백준 13305 주유소 (Swift) (0) | 2023.04.10 |
[BOJ] 백준 1541 잃어버린 괄호 (Swift) (0) | 2023.04.10 |
[BOJ] 백준 11399 ATM (Swift) (0) | 2023.04.10 |