Pagini recente » Cod sursa (job #2795174) | Cod sursa (job #2464715) | Cod sursa (job #1212348) | Cod sursa (job #1293227) | Cod sursa (job #663930)
Cod sursa(job #663930)
#include<fstream>
#include<vector>
#define NMAX 50002
#define inf 2999999
using namespace std;
ifstream f("bellmanford.in");
ofstream g("bellmanford.out");
int D[NMAX],n,i,j,x,y,c,N,M,a;
struct muchii{
int x,y,c;
}
m[250008];
void init(){
D[1]=0;
for(int i=2;i<=N;i++){
D[i]=inf;
}
}
void rez(){
int i,j,check=1;
for(i=1;i<=N &✓++i){
check=0;
for(j=1;j<=M;++j)
if(D[m[j].y]>D[m[j].x]+m[j].c){
D[m[j].y]=D[m[j].x]+m[j].c;
check=1;
}
}
if(check && i==n+1)
g<<"Ciclu Negativ!"<<"\n";
else
for(i=2;i<=N;i++)
g<<D[i]<<" ";
}
int main (){
f>>N>>M;
for(i=1;i<N;i++){
f>>x>>y>>c;
m[++a].x=x;
m[a].y=y;
m[a].c=c;
}
init();
rez();
return 0;
}