Pagini recente » Cod sursa (job #1434262) | Cod sursa (job #1345532) | Cod sursa (job #2218137) | Cod sursa (job #3166018) | Cod sursa (job #2421609)
#include<fstream>
using namespace std;
#define maxn 105
int mp[maxn][maxn],n;
ifstream cin("royfloyd.in");
ofstream cout("royfloyd.out");
void shortest_path(){
for(int k=1; k<=n; k++)
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if(mp[i][j] > (mp[i][k] + mp[k][j]) || (mp[i][j]==0 && i!=j) && mp[i][k]!=0 && mp[k][j]!=0)
mp[i][j] = mp[i][k] + mp[k][j];
}
int main(){
cin>>n;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
cin>>mp[i][j];
shortest_path();
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++)
cout<<mp[i][j]<<' ';
cout<<'\n';
}
}