Pagini recente » Cod sursa (job #1556500) | Cod sursa (job #2028864) | Cod sursa (job #2563886) | Istoria paginii runda/greseli_destepte2/clasament | Cod sursa (job #1726238)
#include <iostream>
#include <cstdio>
#include <climits>
#define N 1006
using namespace std;
int n,v[105][105];
void citire()
{
scanf("%d",&n);
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
{
scanf("%d",&v[i][j]);
if(i!=j&&v[i][j]==0) v[i][j]=N/2;
}
}
void algoritm()
{
for(int k=1; k<=n; k++)
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if(i!=k&&j!=k&&(v[i][k]+v[k][j]<v[i][j]))
v[i][j]=v[i][k]+v[k][j];
}
int main()
{
freopen("royfloyd.in","r", stdin);
freopen("royfloyd.out", "w", stdout);
citire();
algoritm();
for(int i=1; i<=n; i++)
{for(int j=1; j<=n; j++)
printf("%d ",v[i][j]);
printf("\n");}
return 0;
}