提出 #4335829
ソースコード 拡げる
class UnionFind(object):
def __init__(self,n):
self.parent={i:i for i in range(1,n+1)}
self.size={i:1 for i in range(1,n+1)}
def find(self,a):
if self.parent[a]!=a:
self.parent[a]=self.find(self.parent[a])
return self.parent[a]
def unite(self,a,b):
a=self.find(a)
b=self.find(b)
if a==b:return
if self.size[a]>self.size[b]:
self.size[a]+=self.size[b]
self.parent[b]=a
else:
self.size[b]+=self.size[a]
self.parent[a]=b
def isunited(self,a,b):
return self.find(a)==self.find(b)
N=int(input())
l=[[i+1]+list(map(int,input().split())) for i in range(N)]
o=[]
l.sort(key=lambda x:x[1])
for i in range(N-1):
o.append((l[i][0],l[i+1][0],l[i+1][1]-l[i][1]))
l.sort(key=lambda x:x[2])
for i in range(N-1):
o.append((l[i][0],l[i+1][0],l[i+1][2]-l[i][2]))
o.sort(key=lambda x:x[2])
ans=0
uft=UnionFind(N)
for town1,town2,cost in o:
if not uft.isunited(town1,town2):
uft.unite(town1,town2)
ans+=cost
print(ans)
提出情報
| 提出日時 | |
|---|---|
| 問題 | D - Built? |
| ユーザ | tallestorange |
| 言語 | Python (3.4.3) |
| 得点 | 500 |
| コード長 | 1052 Byte |
| 結果 | AC |
| 実行時間 | 1466 ms |
| メモリ | 70764 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 500 / 500 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | s1.txt, s2.txt |
| All | 01.txt, 02.txt, 03.txt, 04.txt, 05.txt, 06.txt, 07.txt, 08.txt, 09.txt, 10.txt, 11.txt, 12.txt, 13.txt, 14.txt, 15.txt, 16.txt, 17.txt, 18.txt, 19.txt, 20.txt, 21.txt, 22.txt, 23.txt, 24.txt, 25.txt, 26.txt, s1.txt, s2.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| 01.txt | AC | 1390 ms | 69576 KiB |
| 02.txt | AC | 1413 ms | 69568 KiB |
| 03.txt | AC | 1432 ms | 69560 KiB |
| 04.txt | AC | 1419 ms | 69568 KiB |
| 05.txt | AC | 1463 ms | 69556 KiB |
| 06.txt | AC | 1466 ms | 69608 KiB |
| 07.txt | AC | 1386 ms | 69548 KiB |
| 08.txt | AC | 1418 ms | 69572 KiB |
| 09.txt | AC | 1381 ms | 68900 KiB |
| 10.txt | AC | 1388 ms | 68896 KiB |
| 11.txt | AC | 1415 ms | 68912 KiB |
| 12.txt | AC | 1390 ms | 69000 KiB |
| 13.txt | AC | 1254 ms | 63380 KiB |
| 14.txt | AC | 1214 ms | 63392 KiB |
| 15.txt | AC | 1207 ms | 63424 KiB |
| 16.txt | AC | 1202 ms | 63384 KiB |
| 17.txt | AC | 1236 ms | 70748 KiB |
| 18.txt | AC | 1252 ms | 70764 KiB |
| 19.txt | AC | 1238 ms | 63472 KiB |
| 20.txt | AC | 1223 ms | 63420 KiB |
| 21.txt | AC | 1182 ms | 63392 KiB |
| 22.txt | AC | 1227 ms | 63416 KiB |
| 23.txt | AC | 973 ms | 57944 KiB |
| 24.txt | AC | 1283 ms | 61824 KiB |
| 25.txt | AC | 18 ms | 3188 KiB |
| 26.txt | AC | 18 ms | 3064 KiB |
| s1.txt | AC | 18 ms | 3064 KiB |
| s2.txt | AC | 18 ms | 3188 KiB |