Pagini recente » Cod sursa (job #1840444) | Cod sursa (job #575746) | Cod sursa (job #2328725) | Cod sursa (job #2501432) | Cod sursa (job #1202741)
#include <fstream>
using namespace std;
int n,m,k,a[105][105][2];
int main()
{
ifstream in ("royfloyd.in");
ofstream out ("royfloyd.out");
in>>n;
for (int i=1;i<=n;++i)
{
for (int j=1;j<=n;++j)
{
in>>a[i][j][0];
}
}
for (int k=1;k<=n;++k)
{
int v1=k%2,v2=(k+1)%2;
for (int i=1;i<=n;++i)
{
for (int j=1;j<=n;++j)
{
if (i==j) a[i][j][v1]=0;
else
{
a[i][j][v1]=a[i][j][v2];
if ((a[i][k][v2]+a[k][j][v2]<a[i][j][v1]) || (a[i][j][v1]==0)) a[i][j][v1]=a[i][k][v2]+a[k][j][v2];
}
}
}
}
int v=n%2;
for (int i=1;i<=n;++i)
{
for (int j=1;j<=n;++j)
{
out<<a[i][j][v]<<" ";
}
out<<"\n";
}
in.close();
out.close();
return 0;
}