Pagini recente » Cod sursa (job #472542) | Cod sursa (job #2811189) | Cod sursa (job #2397225) | Cod sursa (job #931617) | Cod sursa (job #675546)
Cod sursa(job #675546)
#include<fstream>
using namespace std;
int X,Y,d,D[250005],S[250005],i,j,N,M,ok,poz,Min,k;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
struct nod{
int x,y,dist;
nod* adr;
}*A,*p;
void citire (){
f>>N>>M;
for(i=2;i<=N;i++)
D[i]=99999999;
for(int i=1;i<=M;i++){
f>>X>>Y>>d;
p=new nod;
p->x =X;
p->y =Y;
p->dist=d;
p->adr=A;
A=p;
if (X==1)
D[Y]=d;
}
}
int main(){
citire();
ok=1;
while (ok)
{p=A; ok=0;
while (p!=NULL)
{
if (D[p->y]>D[p->x]+p->dist)
{
D[p->y]=D[p->x]+p->dist;
ok=1;
}
p=p->adr;
}
}
for(i=2;i<=N;i++)
if(D[i]!=99999999)
g<<D[i]<<" ";
else
g<<"0"<<" ";
return 0;
}