Pagini recente » Cod sursa (job #1541872) | Cod sursa (job #2046791) | Cod sursa (job #2485474) | Cod sursa (job #2213746) | Cod sursa (job #1809941)
#include <fstream>
#include <vector>
#define INF 20010
using namespace std;
ifstream f("dijkstra.in");
ofstream g("dijkstra.out");
vector<pair<int,int> > v[50010];
int n,m,i,j,x,y,w,l,dist[50010],pred[50010];
int main()
{
f>>n>>m;
for(i=1;i<=m;i++)
{
f>>x>>y>>w;
v[x].push_back(make_pair(y,w));
v[y].push_back(make_pair(x,w));
}
for(i=2;i<=n;i++)
{
dist[i]=INF;
pred[i]=0;
}
pred[1]=1;
for(i=1;i<=n;i++)
{
for(auto it:v[i])
{
if(dist[it.first]>dist[i]+it.second)
{
dist[it.first]=dist[i]+it.second;
pred[it.first]=i;
}
}
}
for(i=2;i<=n;i++)
g<<dist[i]<<' ';
return 0;
}