結果
問題 |
No.3086 Re One Two
|
ユーザー |
![]() |
提出日時 | 2025-04-17 07:29:39 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 736 ms / 2,000 ms |
コード長 | 674 bytes |
コンパイル時間 | 340 ms |
コンパイル使用メモリ | 12,416 KB |
実行使用メモリ | 60,544 KB |
最終ジャッジ日時 | 2025-04-17 07:30:03 |
合計ジャッジ時間 | 22,332 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 32 |
ソースコード
import sys input = sys.stdin.readline from collections import deque N=int(input()) AB=[list(map(int,input().split())) for i in range(N)] B=[-1]*N NX=[-1]*N ONE=deque() TWO=deque() for i in range(N): x,y=AB[i] if y==1: ONE.append(i) elif y==2: TWO.append(i) for i in range(N): x,y=AB[i] if x==1: B[i]=i+1 NX[i+1]=i if y==2: k=ONE.popleft() B[i]=k NX[k]=i ANS=[] for i in range(N): if B[i]==-1: ANS.append(i) x=i while NX[x]!=-1: x=NX[x] ANS.append(x) for i in range(N): ANS[i]+=1 for ans in ANS: print(ans)