Python 端口合并

360影视 2025-02-08 12:42 2

摘要:def find(parent, i):if parent[i] != i:parent[i] = find(parent, parent[i])return parent[i]def union(parent, rank, x, y):xroot = fin

def find(parent, i):if parent[i] != i:parent[i] = find(parent, parent[i])return parent[i]def union(parent, rank, x, y):xroot = find(parent, x)yroot = find(parent, y)if xroot == yroot:returnif rank[xroot] = 2: # 只有至少 2 个公共端口才合并union(parent, rank, i, j)merged = {}for i in range(M):root = find(parent, i)if root not in merged:merged[root] = setmerged[root].update(groups[i])result = for i in range(M):root = find(parent, i)if root in merged:sorted_group = sorted(merged[root])result.append(sorted_group)del merged[root] # 确保每个组只输出一次return result# **自定义输入**M = int(input.strip) # 读取组数groups = for _ in range(M):group = list(map(int, input.strip.split)) # 读取每组端口groups.append(group)# **计算并输出结果**output = merge_port_groups(M, groups)for group in output:print(" ".join(map(str, group)))

来源:小康说科技

相关推荐