Pagini recente » Cod sursa (job #2736223) | Cod sursa (job #3267566) | Cod sursa (job #2952670) | Cod sursa (job #1715920) | Cod sursa (job #360810)
Cod sursa(job #360810)
#include<stdio.h>
#include<vector>
#define NMAX 30001
using namespace std;
int N,M,X,Y,C[NMAX],V[NMAX];
vector<int> A[NMAX];
vector<int> B[NMAX];
int main()
{ int t, aux,k, in, sf, cost,x,y,i,l;
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", &x, &y, &cost);
A[x].push_back(y);
A[y].push_back(x);
B[x].push_back(cost);
B[y].push_back(cost);
}
in = sf = 1;
C[1] = X;
while(!V[Y])
{
X = C[in++];
//l = A[X].size();
k = 0;
while(k < A[X].size())
{
aux = A[X][k];
if(!V[aux])
{
t = B[X][k];
V[aux] = V[X];
if(X < aux)
V[aux] += t;
else
V[aux] -= t;
sf++;
C[sf] = aux;
}
k++;
}
//in++;
}
printf("%d\n",V[Y]);
return 0;
}