結果

問題 No.1639 最小通信路
ユーザー tcltktcltk
提出日時 2021-10-18 04:00:50
言語 PyPy3
(7.3.15)
結果
AC  
実行時間 163 ms / 2,000 ms
コード長 1,578 bytes
コンパイル時間 281 ms
コンパイル使用メモリ 82,072 KB
実行使用メモリ 89,600 KB
最終ジャッジ日時 2024-09-18 19:52:38
合計ジャッジ時間 8,632 ms
ジャッジサーバーID
(参考情報)
judge4 / judge2
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 144 ms
86,424 KB
testcase_01 AC 135 ms
86,420 KB
testcase_02 AC 159 ms
89,344 KB
testcase_03 AC 161 ms
89,592 KB
testcase_04 AC 160 ms
89,472 KB
testcase_05 AC 151 ms
89,472 KB
testcase_06 AC 150 ms
89,600 KB
testcase_07 AC 135 ms
86,400 KB
testcase_08 AC 154 ms
89,116 KB
testcase_09 AC 134 ms
86,528 KB
testcase_10 AC 144 ms
88,832 KB
testcase_11 AC 155 ms
89,344 KB
testcase_12 AC 144 ms
88,448 KB
testcase_13 AC 153 ms
89,344 KB
testcase_14 AC 134 ms
86,272 KB
testcase_15 AC 142 ms
88,192 KB
testcase_16 AC 151 ms
89,240 KB
testcase_17 AC 159 ms
89,044 KB
testcase_18 AC 130 ms
86,656 KB
testcase_19 AC 161 ms
89,472 KB
testcase_20 AC 156 ms
89,344 KB
testcase_21 AC 137 ms
86,144 KB
testcase_22 AC 147 ms
88,448 KB
testcase_23 AC 154 ms
89,216 KB
testcase_24 AC 147 ms
88,780 KB
testcase_25 AC 142 ms
88,448 KB
testcase_26 AC 134 ms
86,784 KB
testcase_27 AC 132 ms
86,528 KB
testcase_28 AC 132 ms
86,588 KB
testcase_29 AC 154 ms
88,960 KB
testcase_30 AC 160 ms
89,344 KB
testcase_31 AC 145 ms
86,912 KB
testcase_32 AC 158 ms
89,088 KB
testcase_33 AC 137 ms
86,272 KB
testcase_34 AC 157 ms
88,960 KB
testcase_35 AC 162 ms
89,088 KB
testcase_36 AC 163 ms
89,088 KB
testcase_37 AC 161 ms
89,600 KB
testcase_38 AC 135 ms
86,528 KB
testcase_39 AC 145 ms
88,604 KB
testcase_40 AC 134 ms
86,536 KB
testcase_41 AC 137 ms
86,656 KB
testcase_42 AC 162 ms
88,960 KB
testcase_43 AC 137 ms
86,400 KB
testcase_44 AC 134 ms
86,656 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

#!/usr/bin/env python3
# from typing import *

import sys
import io
import math
import collections
import decimal
import itertools
import bisect
import heapq


def input():
    return sys.stdin.readline()[:-1]


# sys.setrecursionlimit(1000000)

# _INPUT = """# paste here...
# """
# sys.stdin = io.StringIO(_INPUT)

INF = 10**101

class UnionFind():
    parents = []
    sizes = []
    count = 0
    def __init__(self, n):
        self.count = n
        self.parents = [i for i in range(n)]
        self.sizes = [1 for i in range(n)]
    def find(self, i):
        if self.parents[i] == i:
            return i
        else:
            self.parents[i] = self.find(self.parents[i])
            return self.parents[i]
    def unite(self, i, j):
        root_i = self.find(i)
        root_j = self.find(j)
        if root_i == root_j:
            return
        elif root_i < root_j:
            self.parents[root_j] = root_i
            self.sizes[root_i] += self.sizes[root_j]
        else:
            self.parents[root_i] = root_j
            self.sizes[root_j] += self.sizes[root_i]
    def same(self, i, j):
        return self.find(i) == self.find(j)
    def size(self, i):
        return self.sizes[self.find(i)]
    def group_count(self):
        return len(set(self.find(i) for i in range(self.count)))

N = int(input())
L = []
for _ in range(N*(N-1)//2):
    a, b, c = map(int, input().split())
    L.append((c, a-1, b-1))

L.sort()
uf = UnionFind(N)
ans = 0
for c, a, b in L:
    if uf.same(a, b):
        continue
    uf.unite(a, b)
    ans = max(ans, c)
print(ans)
0