結果
問題 |
No.1717 Levi-Civita Triangle
|
ユーザー |
![]() |
提出日時 | 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 |
ソースコード
# 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))