fork(1) download
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. class Graph {
  6.  
  7. public static void main(String[] args){
  8. Scanner input = new Scanner(System.in);
  9.  
  10. int n, max = 0;
  11. n = input.nextInt();
  12. int[][] matrix = new int[n][n];
  13.  
  14. for(int i = 0; i < n; i++){
  15. for(int j = 0; j < n; j++){
  16. matrix[i][j] = input.nextInt();
  17. }
  18. }
  19.  
  20. for(int i = 0; i < n; i++){
  21. for(int j = 0; j < n; j++){
  22. for(int k = 0; k < n; k++){
  23. if(j != k && matrix[j][i] != -1 && matrix[i][k] != -1){
  24. if(matrix[j][k] == -1)
  25. matrix[j][k] = matrix[j][i] + matrix[i][k];
  26. else
  27. matrix[j][k] = Math.min(matrix[j][k], matrix[j][i] + matrix[i][k]);
  28. }
  29. }
  30. }
  31. }
  32.  
  33. for(int i = 0; i < n; i++){
  34. for(int j = 0; j < n; j++){
  35. if(matrix[i][j] > max) max = matrix[i][j];
  36. }
  37. }
  38.  
  39. System.out.println(max);
  40. }
  41. }
Success #stdin #stdout 0.06s 4386816KB
stdin
3 
0 -1 2
2 0 -1
4 1 0
stdout
4