Cod sursa(job #382220)
| Utilizator | Data | 13 ianuarie 2010 09:45:34 | |
|---|---|---|---|
| Problema | Floyd-Warshall/Roy-Floyd | Scor | 0 |
| Compilator | cpp | Status | done |
| Runda | Arhiva educationala | Marime | 0.55 kb |
#include<iostream>
#include<fstream>
using namespace std;
int main()
{int i,j,k,a[100][100],n;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
f>>n;
for(i=1; i<=n; i++)
for(j=1; j<=n; j++)
f>>a[i][j];
for (k = 1; k <= n; k++)
for (i = 1; i <= n; i++)
for (j = 1; j <= n; j++)
if ((a[i][j] > a[i][k] + a[k][j] || !a[i][j]) && i != j)
a[i][j] = a[i][k] + a[k][j];
for(i=1; i<=n; i++)
{for(j=1; j<=n; j++)
g<<a[i][j]<<" ";
g<<"\n";
}
system("pause");
return 0;
}
