結果
| 問題 |
No.556 仁義なきサルたち
|
| ユーザー |
mban
|
| 提出日時 | 2017-08-12 08:55:09 |
| 言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
| 結果 |
AC
|
| 実行時間 | 69 ms / 2,000 ms |
| コード長 | 666 bytes |
| コンパイル時間 | 352 ms |
| コンパイル使用メモリ | 12,672 KB |
| 実行使用メモリ | 11,392 KB |
| 最終ジャッジ日時 | 2024-10-13 04:25:59 |
| 合計ジャッジ時間 | 1,864 ms |
|
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 22 |
ソースコード
line=input().split()
n=int(line[0])
m=int(line[1])
node=[i for i in range(n)]
size=[1 for i in range(n)]
def root(a):
if node[a]==a:
return a
else:
return root(node[a])
def u(a,b):
size[a]+=size[b]
node[b]=a
def union(a,b):
a=root(a)
b=root(b)
if a!=b:
if size[a]>size[b]:
u(a,b)
elif size[a]<size[b]:
u(b,a)
else:
if a<b:
u(a,b)
else:
u(b,a)
for i in range(m):
line=input().split()
a=int(line[0])-1
b=int(line[1])-1
union(a,b)
for i in node:
print(root(i)+1)
mban