Advertisement
Dzham

Untitled

May 22nd, 2018
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <iterator>
  5. #include <unordered_map>
  6. #include <functional>
  7. #include <unordered_set>
  8. #include <string>
  9. #include <set>
  10. #include <utility>
  11. #include <stack>
  12. #include <limits.h>
  13.  
  14. std::vector<std::vector<long long>> matrix;
  15.  
  16. int main() {
  17. long long N, a;
  18. std::cin >> N;
  19. std::vector<long long> line;
  20. for (int i = 0; i < N; i++) {
  21. for (int j = 0; j < N; j++) {
  22. std::cin >> a;
  23. if (a == 0) {
  24. line.push_back(LLONG_MAX);
  25. } else {
  26. line.push_back(a);
  27. }
  28. }
  29. matrix.push_back(line);
  30. line.clear();
  31. }
  32. long long result = 0;
  33. for (int n = 0; n < N; n++) {
  34. for (int i = 0; i < N; i++) {
  35. for (int j = 0; j < N; j++) {
  36. if (i != j) {
  37. if (matrix[i][n] != LLONG_MAX &&
  38. matrix[n][j] != LLONG_MAX) {
  39. matrix[i][j] = std::min(matrix[i][j],
  40. matrix[i][n] + matrix[n][j]);
  41. }
  42. }
  43. }
  44. }
  45. }
  46. for (int i = 0; i < N; i++) {
  47. for (int j = 0; j < N; j++) {
  48. if (matrix[i][j] != LLONG_MAX && matrix[i][j] > result) {
  49. result = matrix[i][j];
  50. }
  51. }
  52. }
  53. std::cout << result;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement