Pagini recente » Cod sursa (job #2829443) | Cod sursa (job #1761602) | Cod sursa (job #2783067) | Cod sursa (job #686282) | Cod sursa (job #498857)
Cod sursa(job #498857)
#include<cstdio>
using namespace std;
void read(),solve(),show();
int n,a[105][105];
int main()
{
read();
solve();
show();
return 0;
}
void read()
{
int j;
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
for(int i = 0; i < n; i++)
for(j = 0; j < n; j++)
scanf("%d",&a[i][j]);
}
void solve()
{
int i,j;
for(int k = 0; k < n; k++)
for(i = 0; i < n; i++)
for(j = 0; j < n; j++)
if(a[i][k] && a[k][j] && i != j && (a[i][j] > a[i][k] + a[k][j] || !a[i][j]))
a[i][j] = a[i][k] + a[k][j];
}
void show()
{
int j;
for(int i = 0; i < n; i++,printf("\n"))
for(j = 0 ; j < n; j++)
printf("%d ", a[i][j]);
}