Advertisement
Dzham

Untitled

May 22nd, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.36 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.  
  13. std::vector<std::vector<int>> matrix;
  14.  
  15. int main() {
  16. int N, a;
  17. std::cin >> N;
  18. std::vector<int> line;
  19. for (int i = 0; i < N; i++) {
  20. for (int j = 0; j < N; j++) {
  21. std::cin >> a;
  22. if (a == 0) {
  23. line.push_back(INT16_MAX);
  24. } else {
  25. line.push_back(a);
  26. }
  27. }
  28. matrix.push_back(line);
  29. line.clear();
  30. }
  31. for (int n = 0; n < N; n++) {
  32. for (int i = 0; i < N; i++) {
  33. for (int j = 0; j < N; j++) {
  34. if (i != j) {
  35. matrix[i][j] = std::min(matrix[i][j], matrix[i][n] + matrix[n][j]);
  36. }
  37. }
  38. }
  39. }
  40. int i, j;
  41. for (i = 0; i < N; i++) {
  42. for (j = 0; j < N - 1; j++) {
  43. if (matrix[i][j] == INT16_MAX) {
  44. std::cout << 0 << " ";
  45. } else {
  46. std::cout << matrix[i][j] << " ";
  47. }
  48. }
  49. if (matrix[i][j] == INT16_MAX) {
  50. std::cout << 0 << "\n";
  51. } else {
  52. std::cout << matrix[i][j] << "\n";
  53. }
  54. }
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement