Pagini recente » Cod sursa (job #1891731) | Cod sursa (job #806074) | Cod sursa (job #183086) | Cod sursa (job #2419139) | Cod sursa (job #907278)
Cod sursa(job #907278)
#include<fstream>
#include<vector>
#define maxn 30002
using namespace std;
int n,m,x,y;
int nrv[maxn], v[maxn],d[maxn];
vector <int> a[maxn];
vector <int> b[maxn];
void citire()
{
ifstream fin("sate.in");
fin>>n>>m>>x>>y;
int c1,c2,c3;
for(int i=1;i<=m;i++)
{
fin>>c1>>c2>>c3;
a[c1].push_back(c2);
a[c2].push_back(c1);
b[c1].push_back(c3);
b[c2].push_back(-c3);
}
for(int i=1;i<=n;i++)
{
nrv[i]=a[i].size();
}
}
void dfs(int nod)
{
for(int i=0;i<nrv[nod];i++)
if(!v[a[nod][i]])
{
v[a[nod][i]]=1;
d[a[nod][i]]=d[nod]+b[nod][i];
dfs(a[nod][i]);
}
}
void afisare()
{
ofstream fout("sate.out");
fout<<d[y];
}
int main()
{
citire();
v[x]=0;
dfs(x);
afisare();
return 0;
}