Pagini recente » Cod sursa (job #3155216) | Cod sursa (job #1440371) | Cod sursa (job #2206379) | Cod sursa (job #1136008) | Cod sursa (job #2580701)
#include <cstdio>
int d[101][101], n;
void read(){
scanf("%i",&n);
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
scanf("%i",&d[i][j]);
}
void RFW(){
for(int k=0; k<n; k++)
for(int i=0; i<n; i++)
for(int j=0; j<n; j++)
if(i!=j && d[i][k] && d[k][j] && (d[i][j]>d[i][k]+d[k][j] || !d[i][j]))
d[i][j] = d[i][k] + d[k][j];
}
void print(){
for(int i=0; i<n; i++, putchar('\n'))
for(int j=0; j<n; j++)
printf("%i ",d[i][j]);
}
int main(){
freopen("royfloyd.out","w",stdout);
freopen("royfloyd.in","r",stdin);
read(); RFW();
print();
return 0;
}