Pagini recente » Cod sursa (job #707467) | Cod sursa (job #432497) | Cod sursa (job #152735) | Cod sursa (job #1909428) | Cod sursa (job #3202386)
#include <bits/stdc++.h>
using namespace std;
int inf=INT_MAX;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
int n;
int a[100][100];
void parcurgere(){
int dist[100][100];
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
dist[i][j]=a[i][j];
for(int k=0;k<n;k++)
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(dist[i][k]!=inf&&dist[k][j]!=inf)
if(dist[i][j]>dist[i][k]+dist[k][j])
dist[i][j]=dist[i][k]+dist[k][j];
}
int main(){
in>>n;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
in>>a[i][j];
if(a[i][j]==0&&i!=j)
a[i][j]=inf;
}
}
for(int i=0;i<n;i++){
for(int j=0;j<n;j++)
out<<dist[i][j]<<" ";
out<<endl;
}
parcurgere();
return 0;
}