Pagini recente » Cod sursa (job #263735) | Cod sursa (job #580081) | Cod sursa (job #1402272) | Cod sursa (job #2639564) | Cod sursa (job #1771207)
#include <iostream>
#include <fstream>
#define FOR(i,k,v) for(i = k;i<=v;i++)
using namespace std;
int n,q,i,j,p;
int Nq;
int t[101][101];
ofstream ki("royfloyd.out");
void kiir()
{
int i,j;
FOR(i,1,n)
{
FOR(j,1,n)
ki<<t[i][j]<<" ";
ki<<"\n";
}
}
int log2(int n)
{
int s = 1;
if(n/2)
{
n = n/2;
s++;
}
return s;
}
int main()
{
ifstream be("royfloyd.in");
be>>n;
Nq = log2(n);
FOR(i,1,n)
FOR(j,1,n)
be>>t[i][j];
FOR(q,1,n/2 - 10)
{
FOR(i,1,n)
FOR(j,1,n)
if(i != j)
{
int MIN;
if(t[i][j] == 0)
MIN = 200000000;
else
MIN = t[i][j];
FOR(p,1,n)
if(t[i][p] and t[p][j])
{
if(MIN > t[i][p] + t[p][j])
{
//cout<<i<<" "<<j<<" "<<p<<endl;
MIN = t[i][p] + t[p][j];
}
}
t[i][j] = MIN;
}
/*ki<<q<<endl;
kiir();
ki<<endl<<endl;*/
}
kiir();
return 0;
}