티스토리 뷰

import sys

input = sys.stdin.readline
K = int(input())

info = []
for i in range(6):
    info.append(list(map(int, input().split())))

if info[0][0] == 1:
    if info[1][0] == 3:
        if info[2][0] == 1:
            if info[3][0] == 3:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))
            elif info[3][0] == 4:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))

        elif info[2][0] == 2:
            if info[2][1] < info[0][1]:
                if info[3][0] == 3:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))
                elif info[3][0] == 4:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))

            else:
                if info[5][0] == 3:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))
                elif info[5][0] == 4:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))

    elif info[1][0] == 4:
        if info[2][0] == 1:
            if info[3][0] == 3:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))

            elif info[3][0] == 4:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))

        elif info[2][0] == 2:
            if info[2][1] < info[0][1]:
                if info[3][0] == 3:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))
                elif info[3][0] == 4:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))

            else:
                if info[5][0] == 3:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))
                elif info[5][0] == 4:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))

elif info[0][0] == 2:
    if info[1][0] == 3:
        if info[2][0] == 1:
            if info[2][1] < info[0][1]:
                if info[3][0] == 3:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))
                elif info[3][0] == 4:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))
            else:
                if info[5][0] == 3:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))
                elif info[5][0] == 4:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))

        elif info[2][0] == 2:
            if info[3][0] == 3:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))

            elif info[3][0] == 4:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))

    elif info[1][0] == 4:
        if info[2][0] == 1:
            if info[2][1] < info[0][1]:
                if info[3][0] == 3:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))
                elif info[3][0] == 4:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))
            else:
                if info[5][0] == 3:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))
                elif info[5][0] == 4:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))

        elif info[2][0] == 2:
            if info[3][0] == 3:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))
            elif info[3][0] == 4:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))

elif info[0][0] == 3:
    if info[1][0] == 1:
        if info[2][0] == 3:
            if info[3][0] == 1:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))

            elif info[3][0] == 2:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))

        elif info[2][0] == 4:
            if info[2][1] < info[0][1]:
                if info[3][0] == 1:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))
                elif info[3][0] == 2:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))
            else:
                if info[5][0] == 1:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))
                elif info[5][0] == 2:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))

    elif info[1][0] == 2:
        if info[2][0] == 3:
            if info[3][0] == 1:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))
            elif info[3][0] == 2:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))
        elif info[2][0] == 4:
            if info[2][1] < info[0][1]:
                if info[3][0] == 1:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))
                elif info[3][0] == 2:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))
            else:
                if info[5][0] == 1:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))
                elif info[5][0] == 2:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))

elif info[0][0] == 4:
    if info[1][0] == 1:
        if info[2][0] == 3:
            if info[2][1] < info[0][1]:
                if info[3][0] == 1:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))
                elif info[3][0] == 2:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))
            else:
                if info[5][0] == 1:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))
                elif info[5][0] == 2:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))

        elif info[2][0] == 4:
            if info[3][0] == 1:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))
            elif info[3][0] == 2:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))

    elif info[1][0] == 2:
        if info[2][0] == 3:
            if info[2][1] < info[0][1]:
                if info[3][0] == 1:
                    print(K * (info[0][1] * info[1][1] - info[3][1] * info[4][1]))
                elif info[3][0] == 2:
                    print(K * (info[0][1] * info[5][1] - info[2][1] * info[3][1]))
            else:
                if info[5][0] == 1:
                    print(K * (info[1][1] * info[2][1] - info[4][1] * info[5][1]))
                elif info[5][0] == 2:
                    print(K * (info[2][1] * info[3][1] - info[0][1] * info[5][1]))

        elif info[2][0] == 4:
            if info[3][0] == 1:
                print(K * (info[3][1] * info[4][1] - info[0][1] * info[1][1]))
            elif info[3][0] == 2:
                print(K * (info[4][1] * info[5][1] - info[1][1] * info[2][1]))

아이디어를 생각하다 못해 그저 문제서 주어진대로 따라갔다.. 총 코드 166줄 

ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 코드길이 6720은 내가 짜본것중에 최고다

 

 

육각형을 만든다면 나올 수 있는 경우의 수가 적기 때문에 직접 만들었고, 다음 나올 좌표 방향, 거리 범위 까지 조절하여 모든 경우를 구한 방법이다.

다른 분들은 이렇게 풀지마라.. 그냥 풀 수 있다는 것을 보여주고 싶었고, 한번 시작하니 우직하게 가보고 싶어서 했을 뿐. 시험 전 코드 구현하기를 해봤다.

728x90
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함