Pagini recente » Cod sursa (job #1269385) | Cod sursa (job #46249) | Cod sursa (job #418147) | Cod sursa (job #1767724) | Cod sursa (job #632971)
Cod sursa(job #632971)
#include<stdio.h>
using namespace std;
int a[103][104],n;
int min(int t, int k){
if(t<k) return t;
else return k;
}
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]);
for(int z=1;z<=n;z++)
for(int x=1;x<=n;x++)
for(int y=1;y<=n;y++)
if(a[x][z]&&a[z][y]&&x!=y&&a[x][y])
a[x][y]=min(a[x][y], a[x][z]+a[z][y]);
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
printf("%d ", a[i][j]);
printf("\n");
}
return 0;
}