Pagini recente » Cod sursa (job #2816775) | Cod sursa (job #2183433) | Cod sursa (job #1079677) | Cod sursa (job #1276626) | Cod sursa (job #2289003)
#include <iostream>
#include <fstream>
#define inf 1.e4
#include <iomanip>
using namespace std;
int n,m,i,j,c,a[200][200],k,t;
ifstream f("royfloyd.in");
ofstream g("royfloyd.out");
int main()
{
f>>n>>m;
//inff toata matricea
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(i!=j)a[i][j]=inf;
//citirea costurilor
for(t=1;t<=m;t++)
{
f>>i>>j>>c;
a[i][j]=c;
}
//alg
for(k=1;k<=n;k++)
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]>a[i][k]+a[k][j])
a[i][j]=a[i][k]+a[k][j];
//-1
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
if(a[i][j]==10000)a[i][j]=-1;
//afisare
for(i=1;i<=n;i++){
for(j=1;j<=n;j++)
g<<a[i][j]<<" ";
g<<endl;
}
return 0;
}