Pagini recente » Cod sursa (job #1812441) | Cod sursa (job #1885465) | Cod sursa (job #881228) | Cod sursa (job #1283675) | Cod sursa (job #1980421)
#include<stdio.h>
#include<math.h>
#include<iostream>
#include<vector>
#define N 105
using namespace std;
int t;
int a[N][N];
int n;
int change = 0;
void checka(int i, int j, int t)
{
if (a[i][j] + a[j][t] < a[i][t])
{
a[i][t] = (a[i][j] + a[j][t]);
change = 0;
}
}
void solve()
{
change = 0;
while (change != 1)
{
change = 1;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
for (int t = 1; t <= n; t++)
{
checka(i, j, t);
checka(i, t, j);
checka(t, i, j);
}
}
}
}
}
void display()
{
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
printf("%d ", a[i][j]);
}
printf("\n");
}
}
int main()
{
freopen("royfloyd.in", "r", stdin);
freopen("royfloyd.out", "w", stdout);
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
scanf("%d", &a[i][j]);
}
}
solve();
display();
return 0;
}