結果
問題 | No.416 旅行会社 |
ユーザー |
![]() |
提出日時 | 2024-09-11 04:17:39 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 924 ms / 4,000 ms |
コード長 | 835 bytes |
コンパイル時間 | 291 ms |
コンパイル使用メモリ | 82,072 KB |
実行使用メモリ | 147,360 KB |
最終ジャッジ日時 | 2024-09-11 04:17:50 |
合計ジャッジ時間 | 10,767 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 21 |
ソースコード
n,m,q=map(int,input().split())e=[]d={}for i in range(m):a,b=map(int,input().split())a-=1b-=1e+=[(a,b)]d[(a,b)]=iu=[1]*mp=[]for i in range(q):a,b=map(int,input().split())a-=1b-=1u[d[(a,b)]]=0p+=[d[(a,b)]]ans=[-1]*nr=[-1]*nv=[[i] for i in range(n)]def root(a):while r[a]!=-1:a=r[a]return adef union(a,b):ra=root(a)rb=root(b)if ra==rb:returnif len(v[ra])<len(v[rb]):ra,rb=rb,rav[ra]+=v[rb]r[rb]=rareturnfor i in range(m):if u[i]:a,b=e[i]union(a,b)for i in reversed(range(q)):a,b=e[p[i]]a=root(a)b=root(b)c=root(0)if a==c and b!=c:for j in v[b]:ans[j]=i+1if a!=c and b==c:for j in v[a]:ans[j]=i+1union(a,b)for i in range(n):if root(i)!=root(0):ans[i]=0print(*ans[1:],sep="\n")