Pagini recente » Cod sursa (job #1320722) | Cod sursa (job #707724) | Cod sursa (job #650441) | Cod sursa (job #2524627) | Cod sursa (job #901092)
Cod sursa(job #901092)
#include<cstdio>
#include<vector>
#define NM 30002
using namespace std;
struct elem
{
int d,to;
};
vector <elem> a[NM];
int n,st,end;
bool viz[NM];
int D[NM];
void read()
{
int m;
int x,y,dr;
scanf("%d %d %d %d",&n,&m,&st,&end);
while(m--)
{
scanf("%d %d %d",&x,&y,&dr);
a[x].push_back((elem){dr,y});
a[y].push_back((elem){-dr,x});
}
}
/*int sgn(int x,int y)
{
if(x>y) return 1;
return -1;
}*/
void dfs(int pos)
{
if(viz[pos]) return;
viz[pos]=1;
for(size_t i=0;i<a[pos].size();++i)
{
D[a[pos][i].to] = D[pos]+a[pos][i].d;
dfs(a[pos][i].to);
}
}
int main()
{
freopen("sate.in","r",stdin);
freopen("sate.out","w",stdout);
read();
dfs(st);
printf("%d",D[end]);
return 0;
}