結果
問題 | No.2316 Freight Train |
ユーザー |
|
提出日時 | 2023-05-26 21:37:55 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 927 ms / 2,000 ms |
コード長 | 610 bytes |
コンパイル時間 | 484 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 108,160 KB |
最終ジャッジ日時 | 2024-12-25 05:38:35 |
合計ジャッジ時間 | 19,972 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
N,Q = map(int,input().split()) P = list(map(int,input().split())) import sys sys.setrecursionlimit(10 ** 8) parent= list(range(N + 1)) def find(i): if parent[i] == i:return i parent[i] = find(parent[i]) return parent[i] def unite(i,j): I = find(i) J = find(j) if I == J:return False parent[i] = J parent[I] = J return True def isSame(i,j): return find(i) == find(j) for i in range(N): if P[i] == -1:continue unite(i + 1,P[i]) for _ in range(Q): a,b = map(int,input().split()) if isSame(a,b): print('Yes') else: print('No')