Pagini recente » Cod sursa (job #3189839) | Cod sursa (job #3264183) | Cod sursa (job #54188) | Cod sursa (job #2862265) | Cod sursa (job #595266)
Cod sursa(job #595266)
#include<fstream>
#include<vector>
using namespace std;
typedef struct { long vil,dist; } sat;
long i,j;
long n,m,x,y;
long a,b,d;
sat aux;
long dist [30005];
bool Viz[30005];
vector <sat> T[30005];
void BFs ( long varf )
{
vector <sat> :: iterator it;
for ( it=T[varf].begin() ; it!=T[varf].end() ; ++it )
{
aux=*it;
if ( Viz[aux.vil]==false )
{
Viz[aux.vil]=true;
if ( aux.vil > varf )
{
dist[aux.vil]=dist[varf]+(aux.dist);
BFs( aux.vil );
}
else{
dist[aux.vil]=dist[varf]-(aux.dist);
BFs( aux.vil );
}
}
}
}
int main()
{
ifstream in("sate.in");
ofstream out("sate.out");
in>>n>>m>>x>>y;
for ( i=1; i<=m; ++i )
{
in>>a>>b>>d;
aux.vil=a;
aux.dist=d;
T[b].push_back(aux);
aux.vil=b;
T[a].push_back(aux);
}
Viz[x]=true;
BFs( x );
out<<dist[y];
return 0;
}