Pagini recente » Cod sursa (job #1366296) | Cod sursa (job #1332592) | Cod sursa (job #501636) | Cod sursa (job #2153467) | Cod sursa (job #1319265)
#include <fstream>
#include <vector>
#include <utility>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
vector < pair<int,int> > v[30001];
vector <int> Q;
int n,m,x,y,i,a,b,d,dist,l;
bool viz[30001];
void bfs(int x,int y)
{
int i,e;
while(!Q.empty())
{
e=Q.front();
Q.pop_back();
for(i=0;i<v[e].size();i++)
{
if(!viz[v[e][i].first])
{
viz[v[e][i].first]=true;
Q.push_back(v[e][i].first);
if(e<v[e][i].first)
dist+=v[e][i].second;
else dist-=v[e][i].second;
}
}
}
}
int main()
{
f>>n>>m>>x>>y;
for(i=1;i<=m;i++)
{
f>>a>>b>>d;
v[a].push_back(make_pair(b,d));
v[b].push_back(make_pair(a,d));
}
Q.push_back(x);
viz[x]=true;
bfs(x,y);
g<<dist;
return 0;
}