Today Sangmin Learned
728x90

링크

https://www.acmicpc.net/problem/1041

난이도(solved.ac 참고)

골드5

풀이

이 문제를 처음 봤을 때는 이게 뭐지? 왜 실버1이지? 걍 브론즈급인데 라고 생각했는데 풀어보니 그게 아니었다. ㅋㅋ

 

주사위의 최상단 면 + 그 면과 접한 최상위층 면의 합: (최소값) * n^2 + (두번째 작은 값) * 4(n-1) + (세번째 작은 값) * 4

(예를 들면, 3의 경우 최상단 면 9개 + 그 9개와 접해있는 12개의 면)

나머지 면들의 합: ((최소값) * 4(n-1) + (두번째 작은 값) * 4) * (n-1)

이 식 구하는 건 별로 어렵지 않다. 그냥 2 3 4인 경우를 머릿속에 그려보고 하면 금방 나온다.

 

근데 문제는, 주사위에는 ABCDEF로, A는 F와 마주하고, B는 E와, C는 D와 마주한다는 점을 고려하지 않으면 무조건 틀린다는 것이다. 상기한 예제 입출력 4가지 모두 이것을 고려하지 않더라도 맞을 수 있게끔 설계를 해뒀기 때문에, 무엇이 잘못되었는지 알기가 힘들다.

 

A와 F중 작은 값, B와 E중 작은 값, C와 D중 작은 값을 각각 구한다음에, 그 값을 sort() 해야한다. 입력을 자세히 보면, A B C D E F가 차례로 주어진다고 했다. 그러므로, 이 값을 sort하면 절대 풀 수 없다.

profile

Today Sangmin Learned

@steadily-worked

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!