Pagini recente » Cod sursa (job #2920362) | Cod sursa (job #2775476) | Cod sursa (job #746184) | Cod sursa (job #891119) | Cod sursa (job #1122759)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
struct nod{int v;int co;};
vector <nod> gr[30005];
nod nod1;
int n,m,x,y,c,x1,y1,viz[30005],dis[30005];
void dfs(int p)
{
int i;
viz[p]=1;
for(i=0;i<gr[p].size();i++)
if(viz[gr[p][i].v]!=1 )
dis[gr[p][i].v]=dis[p]+gr[p][i].co;
}
int main()
{
int i;
f>>n>>m>>x1>>y1;
for(i=1;i<=m;i++)
{
f>>x>>y>>c;
nod1.v=y;
nod1.co=c;
gr[x].push_back(nod1);
nod1.v=x;
nod1.co=-c;
gr[y].push_back(nod1);
}
for(i=1;i<=n;i++)
dis[i]=20000000;
dis[x1]=0;
dfs(x1);
g<<dis[y1];
return 0;
}