Pagini recente » Cod sursa (job #2038278) | Cod sursa (job #2826628) | Cod sursa (job #2094440) | Cod sursa (job #285038) | Cod sursa (job #1529629)
#include <iostream>
#include <fstream>
using namespace std;
int n, mc[105][105];
void read(){
ifstream f("royfloyd.in");
f >> n;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
f >> mc[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(mc[i][k] && mc[k][j] && (mc[i][j] > mc[i][k] + mc[k][j] || !mc[i][j]) && i!=j)
mc[i][j] = mc[i][k] + mc[k][j];
}
void display(){
ofstream g("royfloyd.out");
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++)
g << mc[i][j] << " ";
g << "\n";
}
}
int main()
{
read();
royfloyd();
display();
return 0;
}