結果
問題 | No.2290 UnUnion Find |
ユーザー | ああいい |
提出日時 | 2023-05-06 15:35:36 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 787 ms / 2,000 ms |
コード長 | 1,148 bytes |
コンパイル時間 | 401 ms |
コンパイル使用メモリ | 82,184 KB |
実行使用メモリ | 164,340 KB |
最終ジャッジ日時 | 2024-11-23 23:05:52 |
合計ジャッジ時間 | 34,856 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 37 ms
53,180 KB |
testcase_01 | AC | 38 ms
52,216 KB |
testcase_02 | AC | 499 ms
76,100 KB |
testcase_03 | AC | 389 ms
86,988 KB |
testcase_04 | AC | 552 ms
130,560 KB |
testcase_05 | AC | 535 ms
130,624 KB |
testcase_06 | AC | 580 ms
155,696 KB |
testcase_07 | AC | 544 ms
117,464 KB |
testcase_08 | AC | 582 ms
146,384 KB |
testcase_09 | AC | 505 ms
97,996 KB |
testcase_10 | AC | 513 ms
121,744 KB |
testcase_11 | AC | 575 ms
149,376 KB |
testcase_12 | AC | 516 ms
123,644 KB |
testcase_13 | AC | 520 ms
126,356 KB |
testcase_14 | AC | 576 ms
133,600 KB |
testcase_15 | AC | 614 ms
150,760 KB |
testcase_16 | AC | 515 ms
123,860 KB |
testcase_17 | AC | 563 ms
164,340 KB |
testcase_18 | AC | 577 ms
142,960 KB |
testcase_19 | AC | 714 ms
94,476 KB |
testcase_20 | AC | 654 ms
93,348 KB |
testcase_21 | AC | 738 ms
80,424 KB |
testcase_22 | AC | 765 ms
86,172 KB |
testcase_23 | AC | 708 ms
85,204 KB |
testcase_24 | AC | 683 ms
93,196 KB |
testcase_25 | AC | 710 ms
83,476 KB |
testcase_26 | AC | 700 ms
93,224 KB |
testcase_27 | AC | 744 ms
93,576 KB |
testcase_28 | AC | 679 ms
89,140 KB |
testcase_29 | AC | 745 ms
93,064 KB |
testcase_30 | AC | 727 ms
79,872 KB |
testcase_31 | AC | 711 ms
92,652 KB |
testcase_32 | AC | 775 ms
83,440 KB |
testcase_33 | AC | 741 ms
90,124 KB |
testcase_34 | AC | 659 ms
93,648 KB |
testcase_35 | AC | 656 ms
93,124 KB |
testcase_36 | AC | 787 ms
84,104 KB |
testcase_37 | AC | 714 ms
87,796 KB |
testcase_38 | AC | 767 ms
83,900 KB |
testcase_39 | AC | 694 ms
85,772 KB |
testcase_40 | AC | 687 ms
93,676 KB |
testcase_41 | AC | 706 ms
82,460 KB |
testcase_42 | AC | 701 ms
91,904 KB |
testcase_43 | AC | 729 ms
92,172 KB |
testcase_44 | AC | 552 ms
146,116 KB |
testcase_45 | AC | 404 ms
89,864 KB |
testcase_46 | AC | 492 ms
92,248 KB |
ソースコード
N,Q = map(int,input().split()) parent = list(range(N)) import sys sys.setrecursionlimit(10 ** 8) s = set() q = list(range(N)) 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 s.add(I) parent[i] = J parent[I] = J return True for _ in range(Q): l = list(map(int,input().split())) if l[0] == 1: u,v = l[1],l[2] u -= 1 v -= 1 unite(u,v) else: u = l[1] u -= 1 if len(s) == N - 1: print(-1) else: a = -1 b = -1 while q: a = q.pop() if a in s:continue else:break while q: b = q.pop() if b in s:continue else:break if a >= 0 and b >= 0: U = find(u) if U == a:print(b + 1) else: print(a + 1) q.append(a) q.append(b) else: pass