Pagini recente » Cod sursa (job #329159) | Cod sursa (job #2629059) | Cod sursa (job #2519855) | Cod sursa (job #311014) | Cod sursa (job #865704)
Cod sursa(job #865704)
#include <iostream>
#include <cstdio>
using namespace std;
#define Nmax (1<<7)
int cost[Nmax][Nmax];
int N;
void citire(){
freopen("royfloyd.in", "r", stdin);
scanf("%d", &N);
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++)
scanf("%d", &cost[i][j]);
}
void royfloyd(){
for(int k = 1; k <= N; k++)
for(int i = 1; i <= N; i++)
for(int j = 1; j <= N; j++)
if(( cost[i][j] > cost[i][k] + cost[k][j] || !cost[i][j]) &&
i != j && cost[i][k] && cost[k][j] )
cost[i][j] = cost[i][k] + cost[k][j];
}
void afis(){
freopen("royfloyd.out", "w", stdout);
for(int i = 1; i <= N; i++){
for(int j = 1; j <= N; j++)
printf("%d ", cost[i][j]);
printf("\n");
}
}
int main(){
citire();
royfloyd();
afis();
return 0;
}