알고리즘/BOJ

백준 1041번 주사위

꾸준함. 2019. 11. 8. 13:17

문제 링크입니다: https://www.acmicpc.net/problem/1041

 

1041번: 주사위

첫째 줄에 N이 주어진다. 둘째 줄에 주사위에 쓰여 있는 수가 주어진다. 위의 그림에서 A, B, C, D, E, F에 쓰여 있는 수가 차례대로 주어진다. N은 1,000,000보다 작거나 같은 자연수이고, 쓰여 있는 수는 50보다 작거나 같은 자연수이다.

www.acmicpc.net

이 문제를 보고 저는 우선 규칙을 찾아봤습니다.

규칙을 찾는 과정은 아래와 같습니다.

 

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