Pagini recente » Cod sursa (job #1703014) | Cod sursa (job #240849) | Cod sursa (job #2050641) | Cod sursa (job #3347879) | Cod sursa (job #2240076)
#include <fstream>
#include <iostream>
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
int n,m;
struct laturi {int dest,cost;laturi *next;} *a[50002];
//dm=drum minim,h=inaltime,poz=?,pz=pozitie
int poz[50002],h[50002],dm[50002],pz;
//x=plecare,y=destinatar,z=cost
int doila(int cat)
{
return cat<<1;
}
void adauglat(int x,int y,int z)
{
laturi *nou=new laturi;
nou->cost=z;
nou->dest=y;
nou->next=a[x];
a[x]=nou;
}
void puneinheap()
{
int cc=1,tmp;
while(cc<=pz)
{
tmp=pz;
}
}
int main()
{
f>>n>>m;
for(int i=1;i<=m;++i)
{
int x,y,z;
f>>x>>y>>z;
adauglat(x,y,z);
adauglat(y,x,z);
}
for(int i=2;i<=n;++i){dm[i]=20009;poz[i]=-1;}
pz=1;
dm[1]=0;
poz[1]=1;
h[1]=1;
while(pz!=0)
{
int dm/*dist. minima*/=h[1];
swap(h[1],h[pz]);
}
}