Pagini recente » Cod sursa (job #1819839) | Cod sursa (job #1465292) | Cod sursa (job #667654) | Cod sursa (job #1842835) | Cod sursa (job #2556572)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
struct idk
{
int a,b;
};
idk aux;
vector <idk> v[30004];
int v1[30004],q[30004],p,u;
int n,m,x,y,x1,y1,s;
int main()
{
fin>>n>>m>>x>>y;
for(int i=1;i<=m;++i)
{
fin>>x1>>y1>>s;
aux.a=y1;
aux.b=s;
v[x1].push_back(aux);
aux.a=x1;
aux.b=-s;
v[y1].push_back(aux);
}
p=u=1;
q[1]=x;
v1[x]=0;
int i;
while(p<=u)
{
i=q[p];
++p;
for(int j=0;j<v[i].size();++j)
{
aux=v[i][j];
if(v1[aux.a]==0 || v1[aux.a]>v1[i]+aux.b)
{
q[++u]=v[i][j].a;
v1[aux.a]=v1[i]+aux.b;
}
}
}
fout<<v1[y];
return 0;
}