Pagini recente » Cod sursa (job #451013) | Cod sursa (job #2932655) | Cod sursa (job #1633938) | Cod sursa (job #54044) | Cod sursa (job #638870)
Cod sursa(job #638870)
#include<fstream>
#include<vector>
using namespace std;
int C[30001],W[30001],L[1000001],viz[30001],p,u,x,y,X,Y,a,M,N,i,d;
vector <int> A[1000001],D[1000001];
ifstream f("sate.in");
ofstream g("sate.out");
void citire(){
f>>N>>M;
f>>X>>Y;
for(int i=1;i<=M;i++)
{
f>>x>>y>>d;
A[x].push_back(y);
A[y].push_back(x);
D[x].push_back(d);
D[y].push_back(d);
}
}
int main (){
citire();
for (i = 1; i <= N; i++)
L[i] = A[i].size();
C[1]=X;viz[X] = 1;
for( p=1 , u=1; u>=p && C[p]!=Y ;p++)
{
for (i = 0; i < L[C[p]]; i++) {
a = A[C[p]][i];
if (!viz[a]) {
viz[a]=1;
C[++u] = a;
if(C[p]<a)
W[a]=W[C[p]]+D[C[p]][i];
else
W[a]=W[C[p]]-D[C[p]][i];
}
}
}
g<<W[Y];
return 0;
}