Pagini recente » Cod sursa (job #2648742) | Cod sursa (job #2915215) | Cod sursa (job #1874038) | Cod sursa (job #464154) | Cod sursa (job #1089704)
#include <cstdio>
using namespace std;
int n,d[100][100];
void read()
{
int i,j;
freopen("royfloyd.in","r",stdin);
scanf("%d",&n);
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
scanf("%d",&d[i][j]);
}
}
}
void royfloyd()
{
int i,j,k;
for(k=0;k<n;++k)
{
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
if(i!=j&&d[i][k]&&d[k][j]&&(d[i][j]>d[i][k]+d[k][j]||!d[i][j]))
{
d[i][j]=d[i][k]+d[k][j];
}
}
}
}
}
void write()
{
freopen("royfloyd.out","w",stdout);
int i,j;
for(i=0;i<n;++i)
{
for(j=0;j<n;++j)
{
printf("%d ",d[i][j]);
}
printf("\n");
}
}
int main()
{
read();
royfloyd();
write();
return 0;
}