結果
| 問題 |
No.2518 Adjacent Larger
|
| コンテスト | |
| ユーザー |
MasKoaTS
|
| 提出日時 | 2023-09-19 23:01:57 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,086 bytes |
| コンパイル時間 | 265 ms |
| コンパイル使用メモリ | 82,136 KB |
| 実行使用メモリ | 143,584 KB |
| 最終ジャッジ日時 | 2024-09-25 05:53:47 |
| 合計ジャッジ時間 | 5,915 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | WA * 1 |
| other | AC * 12 WA * 16 |
ソースコード
import sys
input = sys.stdin.readline
for _ in [0] * int(input()):
n = int(input())
a = list(map(int, input().split()))
graph = [set([]) for _ in [0] * n]
stk = list((x, -1) for x in range(n) if(a[x] == 2))
st = set(stk)
while(stk):
v, lv = stk.pop()
pv, nv = (v - 1) % n, (v + 1) % n
if(a[v] == 2):
graph[v].add(pv)
graph[v].add(nv)
if(pv not in st):
st.add(pv)
stk.append((pv, v))
if(nv not in st):
st.add(nv)
stk.append((nv, v))
elif(a[v] == 1):
if(pv != lv):
graph[v].add(pv)
if(pv not in st):
st.add(pv)
stk.append((pv, v))
else:
graph[v].add(nv)
if(nv not in st):
st.add(nv)
stk.append((nv, v))
for v, c in enumerate(a):
if(len(graph[v]) == c):
continue
print("No")
break
else:
print("Yes")
MasKoaTS