Pagini recente » Cod sursa (job #2354300) | Cod sursa (job #1804754) | Cod sursa (job #2470994) | Cod sursa (job #560071) | Cod sursa (job #868105)
Cod sursa(job #868105)
#include<iostream>
#include<fstream>
#include<vector>
#include<algorithm>
#define NMAX 7502
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
vector <int>v[NMAX];
long viz[NMAX],c[NMAX][NMAX];
int n,m,x,y,cod[NMAX];
void read ()
{
int a,b;
long p;
in>>n>>m>>x>>y;
for(int i=1; i<=m;++i)
{
in>>a>>b>>p;
v[a].push_back(b);
v[b].push_back(a);
c[a][b]=c[b][a]=p;
}
}
int main ()
{
read();
int p,k;
p=k=1;
cod[p]=x;
while(p<=k)
{
for(int j=0; j<v[cod[p]].size(); ++j )
if(!viz[v[cod[p]][j]] && v[cod[p]][j]!=x)
{
cod[++k]=v[cod[p]][j];
if(cod[p]>v[cod[p]][j])
viz[v[cod[p]][j]]=viz[cod[p]]-c[cod[p]][v[cod[p]][j]];
else
viz[v[cod[p]][j]]=viz[cod[p]]+c[cod[p]][v[cod[p]][j]];
}
if(cod[p]==y)
{
out<<viz[cod[p]];
break;
}
p++;
}
in.close();
out.close();
return 0;
}