Pagini recente » Monitorul de evaluare | Istoria paginii runda/random/clasament | Cod sursa (job #2935872) | Monitorul de evaluare | Cod sursa (job #2359091)
#include <bits/stdc++.h>
#define INF 1000000
using namespace std;
ifstream fin("royfloyd.in") ;
ofstream fout("royfloyd.out") ;
int n , v[105][105] ;
int main()
{
fin >> n ;
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
{
fin >> v[i][j] ;
if(v[i][j] == 0)
v[i][j] = INF ;
}
for(int k=1; k<=n; k++)
for(int i=1; i<=n; i++)
for(int j=1; j<=n; j++)
if(v[i][k] + v[k][j] < v[i][j] && i!=j)
v[i][j] = v[i][k] + v[k][j] ;
for(int i=1; i<=n; i++)
{
for(int j=1; j<=n; j++)
{
if(v[i][j] != INF)
fout << v[i][j] << " " ;
else
fout << "0" << " ";
}
fout << "\n" ;
}
return 0;
}