Pagini recente » Cod sursa (job #2244168) | Cod sursa (job #2364982) | Cod sursa (job #2390960) | Cod sursa (job #1457181) | Cod sursa (job #527175)
Cod sursa(job #527175)
#include <fstream>
#include <vector>
using namespace std;
ifstream in("sate.in");
ofstream out("sate.out");
vector<int>a[1<<17];
int val[1<<10][1<<10];
int n,m,x,y;
bool viz[1<<17]={false};
void citire(){
int k,l,aux;
while(m--){
in>>k;
in>>l;
in>>aux;
a[k].push_back(l);
a[l].push_back(k);
if(k>l){
val[k][l]=-aux;
val[l][k]=aux;
}
else{
val[k][l]=aux;
val[l][k]=-aux;
}
}
}
void dfs(int l,int s){
if(l==y){
out<<s;
return;
}
int i,q;
viz[l]=true;
for(i=0;i<a[l].size();i++){
q=a[l][i];
if(viz[q]==0){
s+=val[l][q];
dfs(q,s);
}
else{
continue;
}
}
}
int main(){
in>>n>>m>>x>>y;
citire();
dfs(x,0);
return 0;
}