Pagini recente » Cod sursa (job #3169202) | Cod sursa (job #998878) | Cod sursa (job #626164) | Cod sursa (job #238610) | Cod sursa (job #1450647)
/**
*N <= 100
*M ponderilor
*
**/
#include <stdio.h>
int dist[101][101],N,i,j,k;
int min(int a, int b)
{
if(a > b) return b;
else return a;
}
void show()
{
freopen("royfloyd.out","w",stdout);
for(i = 1; i <= N; i++)
{
for(j = 1; j <= N; j++)
{
printf("%d ",dist[i][j]);
}
printf("\n");
}
fclose(stdout);
}
void read()
{
freopen("royfloyd.in","r",stdin);
scanf("%d",&N);
for(i = 1; i <= N; i++)
{
for(j = 1; j <= N; j++)
{
scanf("%d",&dist[i][j]);
}
}
fclose(stdin);
}
void rf()
{
for(k = 1; k <= N;k++)
{
for(i = 1; i <= N;i++)
{
for(j = 1; j <= N;j++)
{
if(i != j && i != k && j != k)
{
dist[i][j] = min(dist[i][j], dist[i][k] + dist[k][j]);
}
}
}
}
}
int main()
{
read();
rf();
show();
return 0;
}