Tranvick

Untitled

Nov 15th, 2011
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.92 KB | None | 0 0
  1. //O(N^3)
  2. #include <cstdio>
  3. #include <iostream>
  4. #include <memory.h>
  5. #define maxn 111
  6. #define maxm 2222
  7.  
  8. using namespace std;
  9.  
  10. int c,n,m,a[maxn][maxn];
  11.  
  12. void init(void)
  13. {
  14. //    freopen("input.txt","r",stdin);
  15. //    freopen("output.txt","w",stdout);    
  16.     cin>>n>>m;
  17.     int i,x,y,z;
  18.     memset(a,63,sizeof(a));
  19.     for (i=1;i<=m;i++)
  20.     {
  21.         cin>>x>>y>>z;
  22.         a[x][y]=z;
  23.     }
  24.     for (i=1;i<=n;i++)
  25.         a[i][i]=0;
  26. }
  27.  
  28. void floid(void)
  29. {
  30.     int i,j,k;
  31.     for (k=1;k<=n;k++)
  32.         for (i=1;i<=n;i++)
  33.             for (j=1;j<=n;j++)
  34.                 if (a[i][j]>a[i][k]+a[k][j]) a[i][j]=a[i][k]+a[k][j];
  35. }
  36.  
  37. void sol(void)
  38. {
  39.     int i,j;
  40.     floid();
  41.     for (i=1;i<=n;i++,cout<<endl)
  42.         for (j=1;j<=n;j++,cout<<" ")
  43.             if (a[i][j]<1000000000) cout<<a[i][j];
  44.             else cout<<"INF";
  45. }
  46.  
  47. int main()
  48. {  
  49.     init();
  50.     sol();
  51.     cin>>n;
  52.     return 0;
  53. }
  54.  
  55.  
Advertisement
Add Comment
Please, Sign In to add comment