Pagini recente » Cod sursa (job #241481) | Cod sursa (job #2685157) | Cod sursa (job #1444839) | Cod sursa (job #37615) | Cod sursa (job #1308499)
#include<iostream>
#include<fstream>
#include<stack>
#include<limits.h>
#include<bitset>
#include<stdio.h>
using namespace std;
int main()
{
ifstream si;
si.open("royfloyd.in");
FILE*so=fopen("royfloyd.out","w");
int n;
si>>n;
int dist[n][n];
int a,i,j;
for(i=0;i<n;++i)
for(j=0;j<n;++j)
{
si>>dist[i][j];
}
for(a=0;a<n;++a)
for(i=0;i<n;++i)
for(j=0;j<n;++j)
{
if(dist[i][a]&&dist[a][j]&&(dist[i][j]>dist[a][j]+dist[i][a]||!dist[i][j])&&i!=j)
dist[i][j]=dist[a][j]+dist[i][a];
}
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
fprintf(so,"%i ",dist[i][j]);
fprintf(so,"\n");
}
}