Pagini recente » Cod sursa (job #289746) | Cod sursa (job #1673818) | Cod sursa (job #1804646) | Cod sursa (job #936906) | Cod sursa (job #2131138)
#include<bits/stdc++.h>
using namespace std;
int dist[105][105],w[105][105];
int n;
const int oo=(1<<30);
int main(){
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
cin>>n;
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
cin>>w[i][j];
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++){
dist[i][j]=oo;
if(i==j) dist[i][j]=0;
dist[i][j]=w[i][j];
}
for(int k=1;k<=n;k++)
for(int i=1;i<=n;i++)
for(int j=1;j<=n;j++)
if((dist[i][j]>dist[i][k]+dist[k][j]
|| !dist[i][j])&&dist[i][k]&&dist[k][j]&&i!=j)
dist[i][j]=dist[i][k]+dist[k][j];
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++)
cout<<dist[i][j]<<" ";
cout<<'\n';
}
return 0;
}