解题思路:
注意事项:注意理解题目的输入用例到底是什么意思
参考代码:
n=int(input())
inf=float('inf')
gra=[[inf for _ in range(n+1)] for _ in range(n+1)]
st=[False]*(n+1)
a=[]
for _ in range(n):
w=a.append(list(map(int,input().split())))
for i in range(1,n+1):
for j in range(1,n+1):
gra[i][j]=a[i-1][j-1]
def prim():
res=0
dis=[inf]*(n+1)
dis[1]=0
for i in range(n):
t=-1
for j in range(1,n+1):
if st[j]==False and (t==-1 or dis[t]>dis[j]):
t=j
if dis[t]==inf:return inf #说明非连通
res+=dis[t]
st[t]=True
for j in range(1,n+1):
dis[j]=min(dis[j],gra[t][j])
return res
print(prim())
0.0分
0 人评分
妹子杀手的故事 (C语言代码)浏览:1297 |
2004年秋浙江省计算机等级考试二级C 编程题(2) (C语言代码)浏览:1368 |
【魔板】 (C++代码)(时间超限,希望会的帮我改正一下)浏览:804 |
printf基础练习2 (C语言代码)浏览:796 |
蛇行矩阵 (C语言代码)浏览:606 |
C语言程序设计教程(第三版)课后习题9.10 (C语言代码)浏览:866 |
C语言程序设计教程(第三版)课后习题3.7 (C语言代码)浏览:561 |
1013题解浏览:596 |
大家好,我是验题君浏览:604 |
C语言程序设计教程(第三版)课后习题8.1 (C语言代码)浏览:765 |