chzhdpahd   8년 전

find_min1은 1면만 보일때 최소값, find_min2는 2면만 보일때 최소값, find_min3은 3면만 보일때 최소값구하는 함수입니다

2에서는 2개씩 더해보면서 마주보는면일 경우에는 제외하는 방법이고

3에서는 세보니 8가지경우가나오더라구요 그래서 8가지 더해서 비교하는 방법으로 계산했습니다

총 값은 

5면에서 테두리를 제외한 가운데 (n-2)^2만큼은 find_min1값을 가지고 -> (n-2)*(n-2)*5*find_min1

옆쪽 4면에서 가장 아랫줄에서 양끝을 제외한 (n-2)도 find_min1값을 가지고 -> (n-2)*4*find_min1

남은 부분에서 모서리를 제외한 부분 에서 find_min2값을 가지는 (n-2)*8개의 경우 -> (n-2)*8*find_min2

4개의 아래쪽 모서리는 find_min2값 -> 4*find_min2

4개의 위쪽 모서리는 find_min3값 -> 4*find_min3

으로 구했어요

입력받는 n값이랑 출력값 result도 long long int로 처리해서 손으로 n=1000000이랑 45 46 47 48 49 50입력받을때 계산해봤는데 결과값이 잘 나왔습니다

어느부분을 놓친걸까요 ㅠ

chzhdpahd   8년 전

허허허허허허허허허 그런실수를하다니 ㅠ 감사합니다

댓글을 작성하려면 로그인해야 합니다.