Pagini recente » Cod sursa (job #2885830) | Cod sursa (job #619166) | Cod sursa (job #1510809) | Cod sursa (job #632043) | Cod sursa (job #1235090)
#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[j][i] = min(v[j][i],v[j][k]+v[k][i]);
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;
}