Pagini recente » Cod sursa (job #1669559) | Cod sursa (job #2336864) | Borderou de evaluare (job #639041) | Cod sursa (job #2007891) | Cod sursa (job #1808963)
#include <fstream>
using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int a[301][301],l[301],c[301],n,m,x,y;
bool v[301];
void cit(){
int i,j,h,d;
fin>>n>>m>>x>>y;
for(h=1;h<=m;h++){
fin>>i>>j>>d;
a[i][j]=a[j][i]=d;
}
fin.close();
}
void bfs(int x){
int i,p,q,u;
c[1]=x;
v[x]=true;
p=u=1;
while(p<=u){
q=c[p];p++;
for(i=1;i<=n;i++)
if(a[q][i]!=0&&v[i]==false){
u++;c[u]=i;v[i]=true;
if(q<i)
l[i]=l[q]+a[q][i];
if(q>i)
l[i]=l[q]-a[q][i];
}
}
}
int main(){
cit();
bfs(x);
fout<<l[y];
fout.close();
return 0;
}