結果

問題 No.1717 Levi-Civita Triangle
ユーザー zkou
提出日時 2021-08-04 21:05:53
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 847 bytes
コンパイル時間 328 ms
コンパイル使用メモリ 82,428 KB
実行使用メモリ 108,696 KB
最終ジャッジ日時 2024-09-23 03:44:18
合計ジャッジ時間 5,246 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 14 TLE * 1 -- * 27
権限があれば一括ダウンロードができます

ソースコード

diff #

# 高速化愚直解 想定 TLE

import sys
input = sys.stdin.buffer.readline

N = int(input())
As = list(map(int, input().split()))

bit_0 = int(''.join([str(int(e == 0)) for e in As]), 2)
bit_1 = int(''.join([str(int(e == 1)) for e in As]), 2)
bit_2 = int(''.join([str(int(e == 2)) for e in As]), 2)

for i in range(N):
    l = 2 * (N - i) - 1
    new_bit_1 = 0
    new_bit_1 |= bit_0 & (bit_2 >> 1) & (bit_1 >> 2)
    new_bit_1 |= bit_2 & (bit_1 >> 1) & (bit_0 >> 2)
    new_bit_1 |= bit_1 & (bit_0 >> 1) & (bit_2 >> 2)
    new_bit_2 = 0
    new_bit_2 |= bit_0 & (bit_1 >> 1) & (bit_2 >> 2)
    new_bit_2 |= bit_1 & (bit_2 >> 1) & (bit_0 >> 2)
    new_bit_2 |= bit_2 & (bit_0 >> 1) & (bit_1 >> 2)
    bit_1 = new_bit_1
    bit_2 = new_bit_2
    bit_0 = (-1) ^ bit_1 ^ bit_2

if bit_1:
    print(1)
elif bit_2:
    print(2)
else:
    print(0)
0