Pagini recente » Cod sursa (job #680754) | Cod sursa (job #815317) | Cod sursa (job #2199197) | Cod sursa (job #2145307) | Cod sursa (job #2449288)
#include <bits/stdc++.h>
///N=100
///D=1000
using namespace std;
///
int n, i, j, k;
int dist[101][101];
///
void read();
void solve();
void write();
int main()
{
read();
solve();
write();
return 0;
}
void read(){
freopen("royfloyd.in", "r", stdin);
scanf("%d", &n);
for(i=1; i<=n; ++i)
for(j=1; j<=n; ++j) scanf("%d", &dist[i][j]);
fclose(stdin);
}
void solve(){
for(k=1; k<=n; ++k)
for(i=1; i<=n; ++i)
for(j=1; j<=n; ++j) if(i!=j && (dist[i][j]>dist[i][k]+dist[k][j] || !dist[i][j]) && dist[i][k] && dist[k][j])dist[i][j]=dist[i][k]+dist[k][j];
}
void write(){
freopen("royfloyd.out", "w", stdout);
for(i=1; i<=n; ++i){
for(j=1; j<=n; ++j) printf("%d ", dist[i][j]);
printf("\n");
}
fclose(stdout);
}