Pagini recente » Cod sursa (job #921316) | Cod sursa (job #1863962) | Cod sursa (job #479289) | Cod sursa (job #2930763) | Cod sursa (job #2419471)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
#define inf 1100
#define NMAX 105
int n, dist[NMAX][NMAX];
void citire(){
f>>n;
for(int i = 1 ; i <= n; i ++)
for(int j = 1; j <= n; j ++)
dist[i][j] = inf;
for(int i = 1 ; i <= n; i ++)
for(int j = 1; j <= n; j ++)
f>>dist[i][j];
}
void RoyFloyd(){
for(int i = 1 ; i <= n; i ++)
dist[i][i] = 0;
for(int k = 1; k <= n; k ++)
for(int i = 1; i <= n; i ++)
for(int j = 1; j <=n; j++)
if(dist[i][k] + dist[k][j] < dist[i][j])
dist[i][j] = dist[i][k] + dist[k][j];
}
void afisare(){
for(int i = 1 ; i <= n; i ++)
{
for(int j = 1; j <= n; j ++)
g<<dist[i][j]<< " ";
g<<endl;
}
}
int main()
{
citire();
RoyFloyd();
afisare();
return 0;
}