所有点对间最短路径 | 弗洛伊德算法 | All Pairs Shortest Path | C/C++实现 | 大年初一写优快云

问题描述

请例举出加权有向图G=(V,E)G=(V,E)G=(V,E)中每两点之间的最短路径的长度。

输入:
输入按照以下形式给出
∣V∣|V|V ∣E∣|E|E
s0s_0s0 t0t_0t0 d0d_0d0
s1s_1s1 t1t_1t1 d1d_1d1

s∣E∣−1s_{|E|-1}sE1 t∣E∣−1t_{|E|-1}tE1 d∣E∣−1d_{|E|-1}dE1
其中|V|、|E|分别代表图G的顶点数和边数。图G的各顶点编号分别为0, 1, …, |V|-1。
sis_isitit_itidid_idi分别表示图G第 i 条边(有向)连接的2个顶点的编号以及该边的权值。
输出:
如果图G包含负环(各边权值总和为负数的环),则在1行中输出以下内容
NEGATIVE CYCLE
否则按照以下格式输出路径长度。
D0,0D_{0,0}D0,0 D0,1D_{0,1}D0,1D0,∣V∣−1D_{0,|V|-1}D0,V1
D1,0D_{1,0}D1,0 D1,1D_{1,1}D1,1D1,∣V∣−1D_{1,|V|-1}D1,V1

D∣V∣−1,0D_{|V|-1,0}DV1,

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值