結果
問題 | No.2290 UnUnion Find |
ユーザー |
|
提出日時 | 2023-05-05 21:44:54 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 719 bytes |
コンパイル時間 | 272 ms |
コンパイル使用メモリ | 82,116 KB |
実行使用メモリ | 110,848 KB |
最終ジャッジ日時 | 2024-11-23 06:44:06 |
合計ジャッジ時間 | 33,699 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 7 WA * 39 |
ソースコード
import syssys.setrecursionlimit(10**8)n,q=map(int,input().split())S={i for i in range(1,n+1)}par=[i for i in range(n+1)]rank=[0]*(n+1)def find(x):if par[x]==x:return xelse:par[x]=find(par[x])return par[x]def same(x,y):return find(x)==find(y)def unit(x,y):global Sx=find(x)y=find(y)if x==y:return 0if rank[x]<rank[y]:par[x]=yS-={x}else:par[y]=xif rank[x]==rank[y]:rank[x]+=1S-={y}for _ in range(q):Q=list(map(int,input().split()))if Q[0]==1:u,v=Q[1],Q[2]unit(u,v)else:v=Q[1]x=find(v)if 1<len(S):for e in S:if e!=x:print(e)breakelse:print(-1)