728x90
https://www.acmicpc.net/problem/1041
2x2x2 주사위와
3x3x3 주사위, 4x4x4 주사위를 그리면서 직접 세보면 패턴을 찾을 수 있다.
정육면체 주사위는 N==1 이 아닌 이상, 최소 1면 ~ 최대 3면까지만 볼 수 있다.
import sys
#sys.setrecursionlimit(10**6)
input = sys.stdin.readline
if __name__ == "__main__":
N = int(input())
ans = 0
dice = list(map(int,input().split()))
if N == 1:
print(sum(dice)-max(dice))
else: # N >= 2
# 제일 작은 수 3개 고르는데, 주사위의 특성 고려
cube = [min(dice[0], dice[5]),
min(dice[1], dice[4]),
min(dice[2], dice[3])]
cube.sort()
# 한 면만 보이는 주사위
ans += ((N-1) * 4 * (N-2) + (N-2)**2) * cube[0]
# 두 면이 보이는 주사위
ans += ((N-1) * 4 + (N**2-4-(N-2)**2)) * (cube[0] + cube[1])
# 세 면이 보이는 주사위
ans += 4 * sum(cube)
print(ans)
728x90
'알고리즘 > 백준(BOJ)' 카테고리의 다른 글
[백준/파이썬] 13549번 숨바꼭질 3 (0) | 2023.07.08 |
---|---|
[백준/파이썬] 12919번 A와 B 2 (0) | 2023.05.27 |
[백준/파이썬] 1111번 IQ Test (0) | 2023.05.26 |
[백준/파이썬] 17144번 미세먼지 안녕! (0) | 2023.05.04 |
[백준/파이썬] 2877번 4와 7 (0) | 2023.04.26 |