Pagini recente » Cod sursa (job #2722234) | Cod sursa (job #900431) | Cod sursa (job #1895961) | Cod sursa (job #2225086) | Cod sursa (job #2554780)
#include <fstream>
#include <vector>
#define dim 30010
using namespace std;
vector <pair <int,int> >a[dim];
int d[dim];
int f[dim];
int c[dim];
int i,j,k,n,m,dist,s,fi,x,y,p,u;
int main() {
ifstream fin("sate.in");
ofstream fout("sate.out");
fin>>n>>m>>s>>fi;
for (i=1;i<=m;i++) {
fin>>x>>y>>dist;
a[x].push_back(make_pair(y,dist));
dist*=-1;
a[y].push_back(make_pair(x,dist));
}
c[p=u=1]=s;
f[s]=1;
d[s]=0;
while (p<=u) {
int nod=c[p];
for (i=0;i<a[nod].size();i++) {
int vecin=a[nod][i].first;
int dist=a[nod][i].second;
if (f[vecin]==0) {
f[vecin]=1;
c[++u]=vecin;
d[vecin]=d[nod]+dist;
}
}
p++;
}
fout<<d[fi];
return 0;
}