結果
| 問題 |
No.2418 情報通だよ!Nafmoくん
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2023-08-12 13:58:48 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
AC
|
| 実行時間 | 307 ms / 2,000 ms |
| コード長 | 598 bytes |
| コンパイル時間 | 354 ms |
| コンパイル使用メモリ | 82,248 KB |
| 実行使用メモリ | 91,512 KB |
| 最終ジャッジ日時 | 2024-11-14 12:22:42 |
| 合計ジャッジ時間 | 5,626 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 21 |
ソースコード
#UF
n,m=map(int,input().split())
n*=2
UFI=[None]+[1]*n
UFH=[None]+[1]*n
def uff(k):
point=k
while type(UFH[point])!=int:
point=int(UFH[point])
return point
def ufu(k1,k2):
p1=uff(k1)
p2=uff(k2)
if p1==p2:
return 0
if UFH[p1]>UFH[p2]:
p1,p2=p2,p1
UFI[p2]=UFI[p1]+UFI[p2]
UFH[p2]=max(UFH[p2],UFH[p1]+1)
UFH[p1]=str(p2)
for i in range(m):
a,b=map(int,input().split())
ufu(a,b)
I=[None]+[0]*n
for i in range(1,n+1):
I[uff(i)]=1
wans=0
for i in range(1,n+1):
if I[i] and UFI[i]%2:
wans+=1
print(wans//2)