Pagini recente » Cod sursa (job #2181664) | Cod sursa (job #2991033) | Cod sursa (job #1371030) | Cod sursa (job #265719) | Cod sursa (job #2492264)
#include <fstream>
#include <vector>
using namespace std;
int main() {
int n, x;
const int inf = 99999;
vector<vector<int>> a;
ifstream fin("royfloyd.in");
ofstream fout("royfloyd.out");
fin>>n;
a.resize(n);
for(int i=0;i<n;i++)
for(int j=0;j<n;j++){
fin>>x;
if(i!=j && x==0) x = inf;
a[i].push_back(x);
}
for(int k=0;k<n;k++)
for(int i=0;i<n;i++)
if(i!=k)
for(int j=0;j<n;j++)
if(j!=k && i!=j)
if(a[k][j]+a[i][k]<a[i][j])
a[i][j] = a[k][j]+a[i][k];
for(int i=0;i<n;i++) {
for (int j = 0; j < n; j++){
if(a[i][j]>=inf) a[i][j] = 0;
fout << a[i][j] << " ";
}
fout << '\n';
}
return 0;
}