Pagini recente » Cod sursa (job #864143) | Cod sursa (job #89759) | Cod sursa (job #1545292) | Cod sursa (job #1169534) | Cod sursa (job #280334)
Cod sursa(job #280334)
#include<stdio.h>
#define PLM 50000000
//MUIE PALI :>
FILE *f1,*f2;
long a,b,c,n1,n2,i,j,k,N,M,v,ok;
struct muchie{
long unu;
long doi;
int val;
};
long d[150002];
muchie m[250002];
void bell(){
d[1]=0;
for(i=1;i<N;i++){
ok=0;
for(j=1;j<=M;j++){
if(d[m[j].doi]>d[m[j].unu]+m[j].val){
d[m[j].doi]=d[m[j].unu]+m[j].val;
ok=1;
}
}
if(!ok){
return;
}
}
}
int main(){
f1=fopen("dijkstra.in","r");
f2=fopen("dijkstra.out","w");
fscanf(f1,"%ld%ld",&N,&M);
for(i=1;i<=M;fscanf(f1,"%ld%ld%d",&m[i].unu,&m[i].doi,&m[i].val),d[i]=PLM,i++);
bell();
for(i=2;i<=N;i++){
if(d[i]!=PLM){
fprintf(f2,"%ld ",d[i]);
}
else{
fprintf(f2,"0 ");
}
}
return 0;
}