Pagini recente » Cod sursa (job #2686437) | Cod sursa (job #1906598) | Cod sursa (job #1326117) | Cod sursa (job #1505451) | Cod sursa (job #275536)
Cod sursa(job #275536)
#include<fstream.h>
ifstream fin("dijkstra.in");
ofstream fout("dijkstra.out");
#define max 250000
struct muchie{long x,y,cost;};
muchie a[max];
long n,m,d[50005];
int main()
{fin>>n>>m;
long i,g,b,cc;
for(i=1;i<=m;i++)
{fin>>g>>b>>cc;
a[i].x=g;
a[i].y=b;
a[i].cost=cc;
if(g==1)d[b]=cc;
}
for(i=2;i<=m;i++)
if(d[i]==0)d[i]=max;
for(cc=1;cc==1;)
{cc=0;
for(i=1;i<=m;i++)
if(d[a[i].y]>d[a[i].x]+a[i].cost)
{d[a[i].y]=d[a[i].x]+a[i].cost;
cc=1;
}
}
for(i=2;i<=n;i++)
if(d[i]==max)fout<<"0 ";
else fout<<d[i]<<" ";
fin.close();
fout.close();
return 0;
}