Pagini recente » Cod sursa (job #2670846) | Cod sursa (job #2152600) | Cod sursa (job #2024229) | Cod sursa (job #678) | Cod sursa (job #1395740)
#include <iostream>
#include <vector>
#include <fstream>
#define nmax 30001
using namespace std;
vector <int> v[nmax];
int n,m,y,sol,x,cost[500][500],source,dest,z;
bool seen[30001];
ifstream f("sate.in");
ofstream g("sate.out");
void dfs(int x)
{
seen[x]=true;
for (int i =0;i<v[x].size();i++)
{
int y=v[x][i];
if (!seen[y])
{
if (x<y) sol+=cost[x][y];
if (x>y) sol-=cost[x][y];
if (y==dest) break;
dfs(y);
}
}
}
int main()
{
f>>n>>m>>source>>dest;
for(int i=1;i<=m;i++)
{
f>>x>>y>>z;
v[x].push_back(y);
v[y].push_back(x);
cost[x][y]=z;
cost[y][x]=z;
}
dfs(source);
g<<sol;
return 0;
}