Pagini recente » Cod sursa (job #1538627) | Cod sursa (job #1822776) | Cod sursa (job #2853014) | Cod sursa (job #850504) | Cod sursa (job #2474223)
#include <iostream>
#include <fstream>
#define inf 1000000
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
int n,i,j,m,x,y,l,nod;
int d[50001],cost[5001][5001],viz[50001];
int main()
{
f>>n>>m;
for (i=1;i<=m;i++)
{
f>>x>>y;
f>>cost[x][y];
if (x==1) d[y]=cost[x][y];
}
d[1]=0;
for (i=2;i<=n;i++)
if (d[i]==0) d[i]=inf;
for (i=1;i<n;i++)
{
int Min=inf;
for (j=2;j<=n;j++)
{
if (viz[j]==0 && d[j]<Min)
{
nod=j;
Min=d[j];
}
}
viz[nod]=1;
for (j=2;j<=n;j++)
if (d[j]>d[nod]+cost[nod][j] && cost[nod][j]!=0) d[j]=d[nod]+cost[nod][j];
}
for (i=1;i<n;i++)
g<<d[i+1]<<" ";
return 0;
}