Pagini recente » Cod sursa (job #2814788) | Cod sursa (job #782593) | Cod sursa (job #3182514) | Cod sursa (job #2442617) | Cod sursa (job #964058)
Cod sursa(job #964058)
#include <iostream>
#include <fstream>
#include <vector>
#include <algorithm>
using namespace std;
ifstream f("test.in");
ofstream g("test.out");
#define lmax 111
#define inf 0xffffff
int n, cc[lmax][lmax];
void roy_floyd(){
for(int i=0;i<n;i++)
for(int j=0;j<n;j++) cc[i][j] == 0 ? cc[i][j] = inf : 1;
for(int k=0;k<n;k++)
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
if(i!=k && k!=j && i!=j) cc[i][j] = min(cc[i][j], cc[i][k]+cc[k][j]);
}
int main(){
f >> n;
for(int i=0;i<n;i++)
for(int j=0;j<n;j++)
f >> cc[i][j];
roy_floyd();
for(int i=0;i<n;i++)
{
for(int j=0;j<n;j++)
g << (cc[i][j] == inf ? 0 : cc[i][j]) << " " ;
g << "\n";
}
return 0;
}