Pagini recente » Cod sursa (job #2487197) | Cod sursa (job #1188326) | Cod sursa (job #2401508) | Cod sursa (job #2186790) | Cod sursa (job #1385849)
#include<fstream>
using namespace std;
int n,m,x,y,a,b,c,i,viz[30002];
struct nod
{
int x,cost;
nod *leg;
};
nod *p,*v[30002];
void dfs(int x)
{
nod *p;
for(p=v[x];p!=0;p=p->leg)
{
if(viz[p->x]==0)
{
if(p->x>x) viz[p->x]=viz[x]+p->cost;
else viz[p->x]=viz[x]-p->cost;
dfs(p->x);
}
}
}
int main()
{
ifstream fin("sate.in");
ofstream fout("sate.out");
fin>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{
fin>>a>>b>>c;
p=new nod;
p->x=a;
p->cost=c;
p->leg=v[b];
v[b]=p;
p=new nod;
p->x=b;
p->cost=c;
p->leg=v[a];
v[a]=p;
}
viz[x]=1;
dfs(x);
fout<<viz[y]-1;
fin.close();
fout.close();
return 0;
}