Cod sursa(job #1059780)

Utilizator andreivFMI - vacaroiu andrei andreiv Data 16 decembrie 2013 22:31:40
Problema Sate Scor 80
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.71 kb
#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;}