Pagini recente » Cod sursa (job #2266053) | Cod sursa (job #271841) | Cod sursa (job #756412) | Cod sursa (job #3179715) | Cod sursa (job #1170779)
#include <iostream>
#include <fstream>
using namespace std;
#define nmax 101
#define inf (1<<28)
int main(){
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int n, i, j, k;
int W[nmax][nmax];
in >> n;
for (i=1; i<=n; i++)
for (j=1; j<=n; j++){
in >> W[i][j];
if (i != j && W[i][j] == 0)
W[i][j] = inf;
}
for (k=1; k<=n; k++)
for (i=1; i<=n; i++)
for (j=1; j<=n; j++)
W[i][j] = min(W[i][j], W[i][k] + W[k][j]);
for (i=1; i<=n; i++){
for (j=1; j<=n; j++)
if (W[i][j] == inf) out << 0 << " ";
else out << W[i][j] << " ";
out << "\n";
}
return 0;
}