結果

問題 No.1717 Levi-Civita Triangle
ユーザー zkouzkou
提出日時 2021-08-04 21:05:53
言語 PyPy3
(7.3.15)
結果
TLE  
実行時間 -
コード長 847 bytes
コンパイル時間 161 ms
コンパイル使用メモリ 81,780 KB
実行使用メモリ 94,036 KB
最終ジャッジ日時 2023-10-24 11:24:14
合計ジャッジ時間 5,142 ms
ジャッジサーバーID
(参考情報)
judge15 / judge11
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 36 ms
53,572 KB
testcase_01 AC 35 ms
53,528 KB
testcase_02 AC 36 ms
53,528 KB
testcase_03 AC 34 ms
53,528 KB
testcase_04 AC 34 ms
53,528 KB
testcase_05 AC 45 ms
63,972 KB
testcase_06 AC 70 ms
76,600 KB
testcase_07 AC 139 ms
94,036 KB
testcase_08 AC 35 ms
53,528 KB
testcase_09 AC 36 ms
53,528 KB
testcase_10 AC 51 ms
63,976 KB
testcase_11 AC 69 ms
75,852 KB
testcase_12 AC 104 ms
85,320 KB
testcase_13 AC 35 ms
53,528 KB
testcase_14 AC 35 ms
53,528 KB
testcase_15 AC 40 ms
57,624 KB
testcase_16 AC 144 ms
75,824 KB
testcase_17 TLE -
testcase_18 -- -
testcase_19 -- -
testcase_20 -- -
testcase_21 -- -
testcase_22 -- -
testcase_23 -- -
testcase_24 -- -
testcase_25 -- -
testcase_26 -- -
testcase_27 -- -
testcase_28 -- -
testcase_29 -- -
testcase_30 -- -
testcase_31 -- -
testcase_32 -- -
testcase_33 -- -
testcase_34 -- -
testcase_35 -- -
testcase_36 -- -
testcase_37 -- -
testcase_38 -- -
testcase_39 -- -
testcase_40 -- -
testcase_41 -- -
testcase_42 -- -
testcase_43 -- -
testcase_44 -- -
権限があれば一括ダウンロードができます

ソースコード

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