Pagini recente » Borderou de evaluare (job #1461653) | Borderou de evaluare (job #2759110) | Borderou de evaluare (job #2889901) | Borderou de evaluare (job #954225) | Cod sursa (job #1315474)
#include<fstream>
using namespace std;
ifstream in("royfloyd.in");
ofstream out("royfloyd.out");
const int INFINIT = 9999999;
int v[105][105],n;
void citire()
{
in>>n;
int x;
for(int i = 1 ; i <= n ; i++)
for(int j = 1 ; j <= n ; j++)
{
in>>x;
if(i != j && x == 0)
v[i][j] = INFINIT;
else
v[i][j] = x;
}
in.close();
}
void royfloyd()
{
for(int k = 1 ; k <= n ; k++)
for(int j = 1 ; j <= n ; j++)
if(k != j)
for(int i = 1 ; i <= n ; i++)
if(i != k)
v[i][j] = min(v[i][j],v[i][k]+v[k][j]);
for(int i = 1 ; i <= n ; i++){
for(int j = 1 ; j <= n ; j++)
out<<v[i][j]<<" ";
out<<"\n";
}
out.close();
}
int main()
{
citire();
royfloyd();
return 0;
}