Pagini recente » Cod sursa (job #598334) | Cod sursa (job #2151955) | Cod sursa (job #2475920) | Cod sursa (job #254134) | Cod sursa (job #2542311)
#include<bits/stdc++.h>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
#define INF 99999999
int node_count;
int distances[100][100];
void read()
{
in>>node_count;
for(int i=0; i<node_count; i++)
{
for(int k=0; k<node_count; k++)
{
in>>distances[i][k];
if(distances[i][k]==0 && i!=k){
distances[i][k]=INF;
}
}
}
}
void royfloyd(){
int split;
for(int i=0;i<node_count;i++){
for(int j=0;j<node_count;j++){
for(int k=0;k<node_count;k++){
split=distances[j][i]+distances[i][k];
if(distances[j][k]>split)
distances[j][k]=split;
}
}
}
}
int main(){
read();
royfloyd();
for(int i=0; i<node_count; i++)
{
for(int k=0; k<node_count; k++)
{
out<<distances[i][k]<<" ";
}
out<<'\n';
}
return 0;
}