This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub shun0923/competitive-programming-java-library
package library;
import java.util.*;
import library.FastIO;
import library.AbstractGraph;
final class WarshallFloyd {
// O(V^3)
public static final long[][] dist(final AbstractGraph<? extends WeightedNode, WeightedEdge> g) { return dist(g, null, null); }
public static final long[][] dist(final AbstractGraph<? extends WeightedNode, WeightedEdge> g, final int[][] prv) { return dist(g, prv, null); }
public static final long[][] dist(final AbstractGraph<? extends WeightedNode, WeightedEdge> g, final int[][] prv, final WeightedEdge[][] prvEdge) { return dist(g.numNode, g.directed, g.edges(), prv, prvEdge); }
public static final long[][] dist(final int numNode, final boolean directed, final WeightedNode edges) { return dist(numNode, directed, edges, null, null); }
public static final long[][] dist(final int numNode, final boolean directed, final WeightedNode edges, final int[][] prv) { return dist(numNode, directed, edges, prv, null); }
public static final long[][] dist(final int numNode, final boolean directed, final WeightedNode edges, final int[][] prv, final WeightedEdge[][] prvEdge) {
final long dist[][] = new long[numNode][numNode];
if(prv != null) for(int[] ele : prv) Arrays.fill(ele, -1);
for(long[] ele : dist) Arrays.fill(ele, FastIO.INF);
for(int i = 0; i < numNode; i ++) dist[i][i] = 0;
for(WeightedEdge e : edges) updateDist(dist, e, prv, prvEdge);
if(!directed) for(WeightedEdge e : edges) updateDist(dist, e.reverse(), prv, prvEdge);
for(int k = 0; k < numNode; k ++) {
for(int i = 0; i < numNode; i ++) {
for(int j = 0; j < numNode; j ++) {
long updated = dist[i][k] + dist[k][j];
if(updated < dist[i][j]) dist[i][j] = updated;
if(prv != null) prv[i][j] = prv[k][j];
if(prvEdge != null) prvEdge[i][j] = prvEdge[k][j];
}
}
}
return dist;
}
private static final void updateDist(final long[][] dist, final WeightedEdge e, final int[][] prv, final WeightedEdge[][] prvEdge) {
if(dist[e.source][e.target] > e.cost) {
dist[e.source][e.target] = e.cost;
if(prv != null) prv[e.source][e.target] = e.source;
if(prvEdge != null) prvEdge[e.source][e.target] = e;
}
}
}Traceback (most recent call last):
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat
bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/site-packages/onlinejudge_verify/languages/user_defined.py", line 71, in bundle
return subprocess.check_output(shlex.split(command))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/subprocess.py", line 466, in check_output
return run(*popenargs, stdout=PIPE, timeout=timeout, check=True,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/opt/hostedtoolcache/Python/3.11.2/x64/lib/python3.11/subprocess.py", line 571, in run
raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command '['false']' returned non-zero exit status 1.