Pagini recente » Cod sursa (job #2402450) | Cod sursa (job #1423249) | Cod sursa (job #1173351) | Cod sursa (job #2433176) | Cod sursa (job #2549852)
#include <iostream>
#include <fstream>
using namespace std;
#define N 100
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int n, a[N][N];
void Roy_Warshall(int n, int a[][N]){
for(int k = 1; k <= n; ++k)
for(int i = 1; i <= n; ++i)
for(int j = 1; j <= n; ++j)
if(a[i][k] && a[k][j] && i != j && (a[i][j] == 0 || a[i][k] + a[k][j] < a[i][j] ))
a[i][j] = a[i][k] + a[k][j];
}
int main(){
in>>n;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
in>>a[i][j];
Roy_Warshall(n,a);
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++)
cout<<a[i][j]<<" ";
cout<<"\n";
}
}