Pagini recente » Cod sursa (job #2149305) | Cod sursa (job #2893853) | Cod sursa (job #2269724) | Cod sursa (job #637040) | Cod sursa (job #482664)
Cod sursa(job #482664)
#include <cstdio>
#include <vector>
#include <cstring>
#define N 30003
#define pb push_back
using namespace std;
vector <int> v[N],cost[N];
int n,x,y,sol;
void rez(int k)
{
vector<int> :: iterator it;
while (!v[k].empty())
{
int p=v[k].back(),cos=cost[k].back();
v[k].pop_back();cost[k].pop_back();
if (p<k) cos=-cos;
sol+=cos;
if (p==y) {printf("%d",sol);memset(v,0,sizeof(v));} else
rez(p);
sol-=cos;
}
}
int main()
{
int m,i,a,b,c;
freopen("sate.in","r",stdin);
freopen("sate.out","w",stdout);
scanf("%d %d %d %d",&n,&m,&x,&y);
for (i=1;i<=m;++i)
{scanf("%d %d %d",&a,&b,&c);v[a].pb(b);v[b].pb(a);
cost[a].pb(c);cost[b].pb(c);}
rez(x);
return 0;}