Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <fstream>
- using namespace std;
- ifstream f("roy-floyd.in");
- ofstream g("roy-floyd.out");
- int i,j,k,n,c,m,a[1000][1000];
- void rf(int i,int j, int k)
- {
- for (k=1;k<=n;k++)
- for (i=1;i<=n;i++)
- for (j=1;j<=n;j++)
- if(a[i][k]!=0 && a[k][j]!=0 && i != j && (a[i][j] > a[i][k] + a[k][j] || a[i][j]==0))
- a[i][j] = a[i][k] + a[k][j];
- }
- int main()
- {
- f>>n>>m;
- while (f>>i>>j>>k)
- {
- a[i][j]=k;
- rf(i,j,k);
- }
- for (int i=1;i<=n;i++)
- {
- for (int j=1;j<=n;j++)
- {
- if (i==j)
- g<<"0"<<" ";
- else
- if(a[i][j]==0)
- g<<"-1"<<" ";
- else
- g<<a[i][j]<<" ";
- }
- g<<endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement