Advertisement
Guest User

Untitled

a guest
Mar 29th, 2017
60
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.08 KB | None | 0 0
  1. #include <iostream>
  2. #include <fstream>
  3. using namespace std;
  4. ifstream in("roy-floyd.in");
  5. ofstream out("roy-floyd.out");
  6. int c[120][120], T[120][120],n,infinit=1000000,m;
  7.  
  8. void citire()
  9. {
  10. in>>n>>m;
  11. int i,j,x;
  12. for(i=1; i<=n; i++)
  13. for(j=1; j<=n; j++)
  14. c[i][j]=infinit;
  15. for(int k=1; k<=m; k++)
  16. {
  17. in>>i>>j>>x;
  18. c[i][j]=x;
  19. }
  20. }
  21.  
  22. void RoyFloyd()
  23. {
  24. int k,i,j;
  25. for(k=1; k<=n; k++)
  26. for(i=1; i<=n; i++)
  27. for(j=1; j<=n; j++)
  28. if(c[i][k]!=infinit && c[k][j]!=infinit && c[i][k]+c[k][j]<c[i][j])
  29. {
  30. c[i][j]=c[i][k]+c[k][j];
  31. T[i][j]=k;
  32. }
  33. }
  34.  
  35. int main()
  36. {
  37. citire();
  38. RoyFloyd();
  39. for(int i=1; i<=n; i++)
  40. c[i][i]=0;
  41.  
  42. for(int i=1; i<=n; i++)
  43. for(int j=1; j<=n; j++)
  44. if(c[i][j]==infinit)
  45. c[i][j]=-1;
  46.  
  47. for(int i=1; i<=n; i++)
  48. {
  49. for(int j=1; j<=n; j++)
  50. out<<c[i][j]<<" ";
  51. out<<endl;
  52. }
  53.  
  54. return 0;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement