herofly


私信TA

用户名:pyhero

访问量:16619

签 名:

等  级
排  名 33
经  验 14299
参赛次数 17
文章发表 321
年  龄 0
在职情况 待业
学  校
专  业

  自我简介:

解题思路:

注意事项:

参考代码:

n,s=map(int,input().split())
dp=[]
for i in range(n):
    dp.append(list(map(int,input().split())))
inf=float('inf')
for i in range(n):
    for j in range(n):
        if dp[i][j]==0 and i!=j:
            dp[i][j]=inf 
for l in range(n):
    for i in range(n):
        for j in range(n):
            if dp[i][j]>dp[i][l]+dp[l][j]:
                dp[i][j]=dp[i][l]+dp[l][j]
ls=dp[s]
ls.pop(s)
for i in dp[s]:
    if i!= inf:
        print(i,end=' ')
    else:
        print(-1,end=' ')


 

0.0分

0 人评分

  评论区

你确定这是dij而不是Floyd?
2022-04-04 10:23:07
  • «
  • 1
  • »