fork download
  1. #include <iostream>
  2.  
  3. #include <iomanip>
  4. #include <bits/stdc++.h>
  5. using namespace std;
  6.  
  7. void citire(int &n,int a[][100])
  8. {
  9. int m;
  10. cin>>n>>m;
  11. for(int i=1;i<=n;i++)
  12. for(int j=1;j<=n;j++)
  13. a[i][j]=50000;
  14. for(int i=1;i<=m;i++)
  15. {
  16. int x,y,nr;
  17. cin>>x>>y>>nr;
  18. a[x][y]=nr;
  19. }
  20. }
  21. void afisare(int n,int a[][100])
  22. {
  23. for(int i=1;i<=n;i++){
  24. for(int j=1;j<=n;j++)
  25. if(a[i][j]!=50000)
  26. cout<<setw(3)<<a[i][j];
  27. else cout<<setw(3)<<"--";
  28. cout<<endl;
  29. }
  30. }
  31. void Roy_Floyd(int n,int a[][100])
  32. {
  33. for(int k=1;k<=n;k++)
  34. for(int i=1;i<=n;i++)
  35. for(int j=1;j<=n;j++)
  36. if(i!=j)
  37. {
  38. ///a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
  39. if(a[i][j]>a[i][k]+a[k][j])
  40. a[i][j]=a[i][k]+a[k][j];
  41. }
  42. }
  43. int main()
  44. {
  45. int n,a[100][100];
  46. citire(n,a);
  47. Roy_Floyd(n,a);
  48. afisare(n,a);
  49. return 0;
  50. }
  51.  
Success #stdin #stdout 0s 4536KB
stdin
Standard input is empty
stdout
Standard output is empty