結果
問題 | No.2301 Namorientation |
ユーザー |
![]() |
提出日時 | 2023-05-12 22:00:24 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 1,546 ms / 3,000 ms |
コード長 | 554 bytes |
コンパイル時間 | 302 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 112,764 KB |
最終ジャッジ日時 | 2024-11-28 18:22:14 |
合計ジャッジ時間 | 30,943 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 30 |
ソースコード
n = int(input()) adj = [set() for _ in range(n)] ans = [""]*n for i in range(n): a,b = map(int,input().split()) adj[a-1].add((b-1,i,0)) adj[b-1].add((a-1,i,1)) v = [] for i in range(n): if len(adj[i])==1: v.append(i) if not v: for i in range(n): if adj[i]: v.append(i); break while v: p = v.pop() c,i,f = adj[p].pop() ans[i] = "<-" if f else "->" adj[c].remove((p,i,f^1)) if len(adj[c])==1: v.append(c) if not v: for i in range(n): if adj[i]: v.append(i); break print(*ans,sep="\n")