結果
| 問題 |
No.1717 Levi-Civita Triangle
|
| コンテスト | |
| ユーザー |
noetherian_ring
|
| 提出日時 | 2021-10-22 23:25:48 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 162 ms / 2,000 ms |
| コード長 | 1,505 bytes |
| コンパイル時間 | 231 ms |
| コンパイル使用メモリ | 82,432 KB |
| 実行使用メモリ | 159,640 KB |
| 最終ジャッジ日時 | 2024-09-23 07:57:20 |
| 合計ジャッジ時間 | 5,310 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 42 |
ソースコード
from collections import defaultdict
from itertools import repeat
import sys
import os
sys.setrecursionlimit(100000)
is_local = "TERM_PROGRAM" in os.environ
input = sys.stdin.readline
INF = float('inf')
MOD = 998244353
def debug(*args, **kwargs):
if is_local:
print(*args, **kwargs)
def I(): return input().rstrip()
def IS(): return input().split()
def II(): return int(input())
def IIS(): return map(int, input().split())
def LIIS(): return list(map(int, input().split()))
jun_map = {0: 1, 1: 2, 2: 0}
rev_map = {0: 2, 2: 1, 1: 0}
def main():
n = II()
va = LIIS()
rev = n % 2 == 0
one_array = [0]
two_array = [0]
cnt = 0
for _ in range(2*n):
one_array.append(step(one_array[-1], rev))
two_array.append(step(two_array[-1], not rev))
cnt += 1
if cnt == 2:
rev = not rev
cnt = 0
one_array2 = []
one_array3 = []
two_array2 = []
two_array3 = []
for i in range(2*n+1):
one_array2.append(jun_map[one_array[i]])
one_array3.append(rev_map[one_array[i]])
two_array2.append(jun_map[two_array[i]])
two_array3.append(rev_map[two_array[i]])
if va == one_array or va == one_array2 or va == one_array3:
print(1)
elif va == two_array or va == two_array2 or va == two_array3:
print(2)
else:
print(0)
def step(x, rev):
if rev:
return rev_map[x]
else:
return jun_map[x]
if __name__ == "__main__":
main()
noetherian_ring