Pagini recente » Cod sursa (job #2746445) | Cod sursa (job #182595) | Cod sursa (job #951543) | Cod sursa (job #1777033) | Cod sursa (job #906585)
Cod sursa(job #906585)
#include<fstream>
using namespace std;
int n,m,x,y,a[2000][2000],sol[2000],d[2000];
void citire()
{
ifstream fin("sate.in");
fin>>n>>m>>x>>y;
int c1,c2,c3;
for(;m;m--)
{
fin>>c1>>c2>>c3;
a[c1][c2]=a[c2][c1]=c3;
}
}
void bfs(int x)
{
sol[1]=x;
d[x]=0;
int dr=1;
for(int i=1;i<=dr;i++)
for(int j=1;j<=n;j++)
if(a[sol[i]][j]!=0&&!d[j])
{
sol[++dr]=j;
if(sol[i]<j)
d[j]=d[sol[i]]+a[sol[i]][j];
else
d[j]=d[sol[i]]-a[sol[i]][j];
}
}
void afisare()
{
ofstream fout("sate.out");
fout<<d[y];
}
int main()
{
citire();
bfs(x);
afisare();
return 0;
}