Pagini recente » Cod sursa (job #2889050) | Cod sursa (job #524137) | Cod sursa (job #2830237) | Cod sursa (job #534231) | Cod sursa (job #2290252)
#include <fstream>
#include <vector>
using namespace std;
vector <int> v[10001];
int a,b,n,m,x,y,k1,k2;
struct distante(){
int st;
int dr;
int dist;
}val[30001];
void coada(int x){
int p,u,i,l;
p=u=1;
q[p]=x;
viz[x]=1;
while(p<=u){
l=q[p];
p++;
for(i=0;i<v[l].size();i++)
if(viz[v[l][i]]==0 && viz[y]==0){
for(j=1;j<=m;j++)
if(val[j].st==v[l][i] && val[j].dr==l)
S=S-val[j].dist;
else
if(val[j].st==l && val[j].dr==v[l][i])
S=S+val[j].dist;
viz[v[l][i]]=1;
u++;
q[u]=v[l][i];
}
}
}
int main()
{
ifstream cin("sate.in");
ofstream cout("sate.out");
cin>>n>>m>>x>>y;
for(i=1;i<=m;i++){
cin>>a>>b>>d;
v[a].push_back(b);
v[b].push_back(a);
val[i].st=a;
val[i].dr=b;
val[i].dist=d;
}
S=0;
coada(x);
cout<<S;
return 0;
}