Pagini recente » Cod sursa (job #417784) | Cod sursa (job #2837601) | Borderou de evaluare (job #1583669) | Cod sursa (job #1440380) | Cod sursa (job #1771173)
#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 t[101][101];
ofstream ki("royfloyd.out");
void kiir()
{
FOR(i,1,n)
{
FOR(j,1,n)
ki<<t[i][j]<<" ";
ki<<"\n";
}
}
int main()
{
ifstream be("royfloyd.in");
be>>n;
FOR(i,1,n)
FOR(j,1,n)
be>>t[i][j];
FOR(q,1,n)
{
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;
}
}
kiir();
return 0;
}