#1435. 路径之和

路径之和

路径之和

题目描述

对于一张有向图,定义d(x,y,z)d(x,y,z)为从xx号点出发,不经过yy号点,最终到达zz号点的最短路径长度,如果不存在这样的路径,d(x,y,z)d(x,y,z)的值为1-1

现在给定有向图中每两个点之间的有向边长度,求对于所有满足1x,y,zn1 \leq x,y,z \leq nxyx \neq yyzy \neq z)的有序数对(x,y,z)(x,y,z),求它们d(x,y,z)d(x,y,z)的和。也就是求对于每个yy,求除了yy之外,其余的所有点组成的有序点对(x,z)(x,z)不经过yy的最短路径长度之和(不存在即为1-1)。

输入格式

第一行输入一个正整数nn,表示点数。

接下来输入nn行,每行输入nn个整数,第ii行第jj个数Gi,jG_{i,j}表示从ii号点到jj号点的有向边长度,如果这个数为1-1,则表示不存在从ii号点到jj号点的有向路径。

输出格式

输出一个整数表示答案。

数据范围与提示

  • 对于10%10\%的数据,n10n \leq 10
  • 对于40%40\%的数据,n50n \leq 50
  • 另有10%10\%的数据,除Gi,i=0G_{i,i}=0以外的所有边,边权相等且不为1-1
  • 对于100%100\%的数据,3n3203 \leq n \leq 3201Gi,j104-1 \leq G_{i,j} \leq 10^{4}Gi,i=0G_{i,i}=0

样例

3
0 1 -1
100 0 2
-1 -1 0
100
见example_sum2.in
见example_sum2.out
见example_sum3.in
见example_sum3.out