Pagini recente » Cod sursa (job #391901) | Cod sursa (job #500758) | Cod sursa (job #3165016) | Cod sursa (job #2842094) | Cod sursa (job #1885908)
#include fstream
#includevector
#includequeue
using namespace std;
ifstream fin(dijkstra.in);
ofstream fout(dijkstra.out);
int n,m,a,b,c,i,aux;
pairint,int x;
vectorpairint,int v[50010];
queueint q;
int dist[50010];
int main()
{
finnm;
for(i=1;i=m;++i)
{
finabc;
v[a].push_back(make_pair(b,c));
v[b].push_back(make_pair(a,c));
}
for(i=2;i=n;++i)
dist[i]=130;
q.push(1);
while(!q.empty())
{
aux=q.front();
q.pop();
for(i=0;iv[aux].size();++i)
{
x=v[aux][i];
if(dist[x.first]dist[aux]+x.second)
{
dist[x.first]=dist[aux]+x.second;
q.push(x.first);
}
}
}
for(i=2;i=n;++i)
if(dist[i]==130)
fout0 ;
else
foutdist[i] ;
return 0;
}