Pagini recente » Cod sursa (job #214513) | Cod sursa (job #2828700) | Cod sursa (job #2456616) | Cod sursa (job #108656) | Cod sursa (job #2142470)
#include <iostream>
#include <fstream>
#include <deque>
#include <vector>
#include <set>
using namespace std;
ifstream fin("dijkstra.in");
ofstream fout("dijkstra.out");
int n,i,j,m,a,b,c,cst[50005],fi,sc;
vector<pair<int,int>> vec[50005];
set<pair<int,int>> ss;
int main() {
fin>>n>>m;
for(i=1;i<=m;i++)
{
fin>>a>>b>>c;
vec[a].push_back(make_pair(b,c));
}
m=n;
ss.insert(make_pair(0,1));
while(!ss.empty())
{
c=(*ss.begin()).first;
n=(*ss.begin()).second;
ss.erase(ss.begin());
for(i=0;i<vec[n].size();i++)
{
fi=vec[n][i].first;
sc=vec[n][i].second;
if(cst[fi]==0)
{
cst[fi]=c+sc;
ss.insert(make_pair(cst[fi],fi));
}
}
}
for(i=2;i<=m;i++)
fout<<cst[i]<<" ";
}