1 真题
2 解析
难度系数:⭐⭐⭐
考察题型:图论
涉及知识点:最小生成树-并查集
思路分析:
套用最小生成树模板-并查集。
3 代码
#模板-并查集
def root(x):#查找→根节点
if x!=p[x]:
p[x]=root(p[x])
return p[x]
def union(x,y):#合并←两节点
if root(x) != root(y):
p[root(y)]=root(x)
def cost(x,y):#计算权值
s=0
while x or y:
if x%10 !=y%10:
s+=x%10+y%10
x//=10
y//=10
return s
#最小生成树
p=[i for i in range(2022)]#p:父节点列表
edge=[(i,j,cost(i,j)) for i in range(1,2022) for j in range(1,2022)]#生成边集合列表
edge.sort(key=lambda x:x[2