Pagini recente » Cod sursa (job #1413662) | Cod sursa (job #2870489) | Cod sursa (job #244642) | Cod sursa (job #2586815) | Cod sursa (job #1971627)
#include<stdio.h>
FILE*f = fopen("royfloyd.in", "r");
FILE*g = fopen("royfloyd.out", "w");
int cost[101][101];
int main(){
int n;
fscanf(f, "%d", &n);
for(int i = 1; i <= n; ++i)
{
for(int j = 1; j <= n; ++j)
{
fscanf(f, "%d", &cost[i][j]);
}
}
for(int k = 1; k <= n; ++k)
{
for(int i = 1; i <= n; ++i)
{
for(int j = 1; j <= n; ++j)
{
if(i != j && cost[i][k] && cost[k][j] && (!cost[i][j] || (cost[i][j] > cost[i][k] + cost[k][j])))
{
cost[i][j] = cost[i][k] + cost[k][j];
}
}
}
}
for(int i = 1; i <= n; ++i)
{
for(int j = 1; j <= n; ++j)
{
fprintf(g, "%d ", cost[i][j]);
}
fprintf(g, "\n");
}
fclose(f);
fclose(g);
return 0;
}