Advertisement
Dzham

Untitled

May 22nd, 2018
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.29 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 (matrix[i][n] != LLONG_MAX &&
  37. matrix[n][j] != LLONG_MAX) {
  38. matrix[i][j] = std::min(matrix[i][j],
  39. matrix[i][n] + matrix[n][j]);
  40. }
  41. }
  42. }
  43. }
  44. bool iscycle = false;
  45. for (int i = 0; i < N; i++) {
  46. if (matrix[i][i] != LLONG_MAX) {
  47. iscycle = true;
  48. break;
  49. }
  50. }
  51. std::cout << iscycle;
  52. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement