Pagini recente » Cod sursa (job #889125) | Cod sursa (job #1562882) | Cod sursa (job #2368371) | Cod sursa (job #1167367) | Cod sursa (job #1492747)
#include <fstream>
#include <deque>
#include <vector>
using namespace std;
ifstream in("dijkstra.in");
ofstream out("dijkstra.out");
bool viz[50005];
deque <int> q;
int L[50005],n,v[1000][1000],m,a,b,c;
vector <int> as[50005];
void bfs()
{
int node;
while(!q.empty())
{
node=q.front();
q.pop_front();
for(int i=0;i<as[node].size();i++)
{
if(!viz[as[node][i]])
{
q.push_back(as[node][i]);
viz[as[node][i]]=1;
L[as[node][i]]=L[node]+v[node][as[node][i]];
}
}
}
}
int main()
{
in>>n>>m;
for(int i=1;i<=m;i++)
{
in>>a>>b>>c;
as[a].push_back(b);
v[a][b]=c;
}
L[1]=0;
viz[1]=1;
q.push_back(1);
bfs();
for(int i=2;i<=n;i++)
{
out<<L[i]<<" ";
}
return 0;
}