Pagini recente » Cod sursa (job #1440277) | Cod sursa (job #1082428) | Cod sursa (job #2469483)
#include<cstdio>
#include<vector>
using namespace std;
vector<pair<int,int>> graph[50002];
int main(){
freopen("dijkstra.in","r",stdin);
freopen("dijkstra.out","w",stdout);
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++){
scanf("%d%d%d",&a,&b,&c);
graph[a].push_back(make_pair(b,c));
}
memset(used,false,sizeof(used));
memset(dmin,0x3f3f3f3f,sizeof(dmin));
used[1]=true;
dmin[1]=0;
que.push(1);
while(!sizeof(que)){
crt=que.front();
q.pop();
used[crt]=false;
for(it=graph[crt].begin();it!=graph[crt].end();it++){
if(dmin[it->first]>dmin[crt]+it->second){
dmin[it->first]=dmin[crt]+it->second;
if(!used[it->first]){
que.push(it->first);
used[it->first]=true;
}
}
}
}
for(i<=2;i<=n;i++){
if(dmin[i]!=0x3f3f3f3f){
printf("%d ",dmin[i]);
}
else printf("0 ");
}
return 0;
}