문제 링크입니다: https://www.acmicpc.net/problem/1041
이 문제를 보고 저는 우선 규칙을 찾아봤습니다.
규칙을 찾는 과정은 아래와 같습니다.
N = 1인 경우: 1 ~ 5면 다 보임 (예외)
N = 2인 경우: 3면 보이는 블록 4개, 2면 보이는 블록 4개
N = 3인 경우: 3면 보이는 블록 4개, 2면 보이는 블록 (8 + 4)개, 1면 보이는 블록 (1 + 8)개
N = 4인 경우: 3면 보이는 블록 4개, 2면 보이는 블록 (12 + 8)개, 1면 보이는 블록 (4 + 24)개
N = 5인 경우: 3면 보이는 블록 4개, 2면 보이는 블록 (16 + 12)개, 1면 보이는 블록 (9 + 48)개
...
따라서 N=1을 제외한 규칙은 아래와 같습니다.
3면: 4개
2면: (2N - 3) * 4 개
1면: (N - 2)^2 + ((N - 2) * (N - 1)) * 4 개
이후에는 전개도를 확인하고 3면의 합 중 최솟값을 구하는 함수, 2면의 합 중 최솟값을 구하는 함수를 구현하여 공식에 그대로 넣어주면 되는 문제였습니다.
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
반응형
'알고리즘 > BOJ' 카테고리의 다른 글
백준 1343번 폴리오미노 (0) | 2019.11.08 |
---|---|
백준 1439번 뒤집기 (0) | 2019.11.08 |
백준 2812번 크게 만들기 (4) | 2019.11.08 |
백준 17829번 222-풀링 (0) | 2019.11.04 |
백준 17828번 문자열 화폐 (0) | 2019.11.04 |