Pagini recente » Cod sursa (job #2161617) | Cod sursa (job #2555091) | Cod sursa (job #2396593) | Cod sursa (job #1711849) | Cod sursa (job #2240830)
#include <cstdio>
#include <algorithm>
#define NMAX 101
#define inf 1000000
using namespace std;
int n;
int a[NMAX][NMAX];
void RoyFloyd() {
for(int k=0;k<n;k++) {
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
a[i][j]=min(a[i][j],a[i][k]+a[k][j]);
}
}
}
}
int main()
{
freopen("royfloyd.in","r",stdin);
freopen("royfloyd.out","w",stdout);
scanf("%d",&n);
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
scanf("%d",&a[i][j]);
if(a[i][j]==0) a[i][j]=inf;
}
}
RoyFloyd();
for(int i=0;i<n;i++) {
a[i][i]=0;
}
for(int i=0;i<n;i++) {
for(int j=0;j<n;j++) {
if(a[i][j]!=inf) printf("%d ",a[i][j]);
else printf("0");
}
printf("\n");
}
return 0;
}