Pagini recente » Cod sursa (job #3205613) | Cod sursa (job #3261864) | Cod sursa (job #644438) | Cod sursa (job #839589) | Cod sursa (job #1438485)
#include <iostream>
#include <fstream>
#include <limits.h>
using namespace std;
int main()
{
ifstream f("royfloyd.in");
int n,**a,**b;
f>>n;
a=new int *[n];
for (int i=0;i<n;i++)
{
a[i]=new int[n];
for (int j=0;j<n;j++) f>>a[i][j];
}
b=new int *[n];
for (int i=0;i<n;i++)
{
b[i]=new int[n];
for (int j=0;j<n;j++) b[i][j]=a[i][j];
}
for (int k=0;k<n;k++)
for (int i=0;i<n;i++)
for (int j=0;j<n;j++)
if (b[i][k] && b[k][j] && (b[i][j] > b[i][k] + b[k][j] || !b[i][j]) && i != j)
b[i][j]=b[i][k]+b[k][j];
ofstream g("royfloyd.out");
for (int i=0;i<n;i++)
{
for (int j=0;j<n;j++)
g<<b[i][j]<<" ";
g<<"\n";
}
return 0;
}