(백준/c++)1780번 - 종이의 개수📃 coding test/◽ 백준2022. 1. 18. 22:59
Table of Contents
728x90
문제링크: https://www.acmicpc.net/problem/1780
1780번: 종이의 개수
N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수
www.acmicpc.net
안녕하세요. 핑크코냥입니다.
1780번 종이의 개수 문제는 분할정복의 기본적인 틀에서 개수만(?) 조금 늘린 문제입니다. 문제에서 요구하는 것을 간단하게 정리해보면 아래와 같습니다.
1. 만약 종이가 모두 같은 수로 되어 있다면 이 종이를 그대로 사용한다.
2. (1) 이 아닌 경우에는 종이를 같은 크기의 종이 9개로 자르고, 각각 잘린 종이에 대해서 (1) 의 과정을 반복한다.
3. 입력은 1보다 크고 3의 7승보다 작다.
순서 그대로 구현하면 되는 문제였는데요. 말 그대로 알고리즘을 만들면 1번의 결과가 아닌 경우 9개로 나누어 자신의 함수를 부르는 재귀함수를 실행합니다. 9개의 경우를 다 돌았다면 돌아가야 하니깐 return을 넣어주는 걸 까먹지 마세요.
아래 그림은 코드의 이해도를 높이기 위해 그림을 그려보았습니다. DivideAndConquer 함수를 부르는 순서이니 코드와 비교하면서 보면 무슨 말인지 바로 아실 거 같습니다.
728x90
'📃 coding test > ◽ 백준' 카테고리의 다른 글
(백준/c++) 1976번 - 여행 가자 (0) | 2022.02.15 |
---|---|
(백준/c++)20040번 - 사이클 게임 (0) | 2022.02.15 |
(백준/c++) 5430번 - AC (0) | 2022.01.17 |
(백준/c++) 11054번 - 가장 긴 바이토닉 부분수열 (0) | 2021.08.18 |
(백준/c++) 1504번 - 특정한 최단경로 (0) | 2020.09.14 |
@핑크코냥 :: 핑크코냥
안 하는 것 보다 낫겠지
포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!