Pagini recente » Cod sursa (job #2001084) | Statistici Mihai Andrei Popa (Mihu) | Istoria paginii runda/vendetta_dc1 | Cod sursa (job #831431) | Cod sursa (job #1517355)
#include <fstream>
#include <vector>
#include <queue>
#include <bitset>
using namespace std;
#define maxd 30010
ifstream fin("sate.in");
ofstream fout("sate.out");
int n, m, x, y, u, v, dist, t;
vector <int> a[maxd];
vector <int> d[maxd];
queue <int> c;
int lg[maxd];
bitset <maxd> viz;
int main(){
fin>>n>>m>>x>>y;
for(;m;--m){
fin>>u>>v>>dist;
a[u].push_back(v);
a[v].push_back(u);
d[u].push_back(dist);
d[v].push_back(-dist);
}
c.push(x);
viz[x]=true;
int ok=1;
while(c.size() && ok){
t=c.front();
c.pop();
if(t==y) ok=0;
for(int i=0;i<a[t].size();++i){
int g=a[t][i];
if(!viz[g]){
viz[g]=true;
lg[g]=lg[t]+d[t][i];
c.push(g);
}
}
}
fout<<lg[y];
return 0;
}