Pagini recente » Cod sursa (job #1754129) | Cod sursa (job #2372247) | Cod sursa (job #3130837) | Cod sursa (job #2050673) | Cod sursa (job #947056)
Cod sursa(job #947056)
#include<fstream>
#include<vector>
#define NM 31000
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
struct el{int cos,des;};
el l;
vector<el> v[NM];
int a,b,i,n,m,x,y,sol,cost,viz[NM];
void dfs(int x)
{
viz[x]=1;
if(x==y)
sol=cost;
for(int i=0;i<v[x].size();++i)
if(!viz[v[x][i].des])
{
cost+=v[x][i].cos;
dfs(v[x][i].des);
cost-=v[x][i].cos;
}
viz[x]=0;
}
int main()
{
f>>n>>m>>x>>y;
while(m--)
{
f>>a>>l.des>>l.cos;
if(a>l.des)
swap(a,l.des);
v[a].push_back(l);
l.cos=-l.cos;
swap(a,l.des);
v[a].push_back(l);
}
cost=0;
dfs(x);
g<<sol;
return 0;
}