結果

問題 No.1717 Levi-Civita Triangle
ユーザー Koi
提出日時 2025-07-15 18:28:11
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 80 ms / 2,000 ms
コード長 1,664 bytes
コンパイル時間 375 ms
コンパイル使用メモリ 82,328 KB
実行使用メモリ 99,100 KB
最終ジャッジ日時 2025-07-15 18:28:16
合計ジャッジ時間 4,080 ms
ジャッジサーバーID
(参考情報)
judge2 / judge3
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 42
権限があれば一括ダウンロードができます

ソースコード

diff #

# N = int(input())
# A = list(map(int, input().split()))

def gutyoku(A):
    L = A[:]
    while len(L) > 1:
        Q = []
        for i in range(len(L) - 2):
            T = (L[i], L[i + 1], L[i + 2])
            if(T in ((0, 1, 2), (1, 2, 0), (2, 0, 1))):
                Q.append(1)
            elif(T in ((2,1,0),(1,0,2),(0,2,1))):
                Q.append(2)
            else:
                Q.append(0)
        # print(L, Q)
        L = Q[:]
    return L[0]
# N = 7


#L = [ [1, 0, 2, 0], [0, 2, 1, 2], [2, 1, 0, 1], [1, 2, 0, 2], [2, 0, 1, 0], [0, 1, 2, 1]]
def solve(A):
    L = [[2, 1, 0, 1], [0, 2, 1, 2], [1, 0, 2, 0], [1, 2, 0, 2], [2, 0, 1, 0], [0, 1, 2, 1]]
    Nxts = [4, 4, 4, 2, 2, 2]
    NN = 2 * N + 1
    # print(N, NN)
    for j in range(len(L)):
        is_j = True
        for i in range(2 * N + 1):
            if(A[i] != L[j][i % 4]):
                is_j = False
                break
        if(is_j):
            nowj = j
            # print(nowj)
            # print(NN)
            while NN > 4:
                NN -= 2
                nowj = Nxts[nowj]
                # print(NN, nowj)
            B = []
            for i in range(2 * NN + 1):
                B.append(L[nowj][i % 4])
            # print(nowj, N, B)
            return (gutyoku(B))
    return 0
# N = 4
# for i in range(3 ** (2 * N + 1)):
#     x = i
#     A = []
#     for j in range(2 * N + 1):
#         A.append(x % 3)
#         x //= 3
#     ans0 = gutyoku(A)
#     ans1 = solve(A)
#     if(ans0 != ans1):
#         print(ans0, ans1)
#         print(A)
#         break
N = int(input())
A = list(map(int, input().split()))
# print(gutyoku(A))
print(solve(A))
0