Pagini recente » Cod sursa (job #2973970) | Cod sursa (job #350734) | Cod sursa (job #1143723) | Cod sursa (job #2198113) | Cod sursa (job #735070)
Cod sursa(job #735070)
#include<fstream>
#include<vector>
#define PP pair
#define MP make_pair
#define dim 30001
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
short ARB[dim];
short G[dim];
int n,m,x,y;
int i,x2,y2,c;
vector<PP<int,int> >A[dim];
typedef vector<PP<int, int> >::iterator it;
void dfs(int X)
{
for(it i=A[X].begin();i!=A[X].end();++i)
{
if(G[i->first]==1)
continue;
ARB[i->first]=ARB[X]+i->second;
G[i->first]=1;
dfs(i->first);
}
}
int main()
{
f>>n>>m>>x>>y;
for(i=1;i<=m;i++)
f>>x2>>y2>>c,A[x2].push_back(MP(y2, c)),A[y2].push_back(MP(x2, -c));
G[1]=1;
dfs(x);
int rez=ARB[y]-ARB[x];
g<<rez;
return 0;
}