Cod sursa(job #1048821)

Utilizator livliviLivia Magureanu livlivi Data 6 decembrie 2013 14:35:04
Problema Sate Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<vector>
#include<cstdio>
using namespace std;
struct mazi{int v,cost;};
vector<mazi> a[30001];
int viz[30001],y;
void bfs(int p){
    if (viz[y]==0){
        int i;
        for(i=0;i<a[p].size();i++)
            if (viz[a[p][i].v]==0){
                viz[a[p][i].v]=viz[p]+a[p][i].cost;
                bfs(a[p][i].v);
            }
    }
}
int main(){
    freopen ("sate.in","r",stdin);
    freopen ("sate.out","w",stdout);
    int n,m,i,x,j,k,d;
    mazi l;
    scanf ("%d%d%d%d",&n,&m,&x,&y);
    for(i=1;i<=m;i++){
        scanf ("%d%d%d",&j,&k,&d);
        l.v=k;
        l.cost=d;
        a[j].push_back(l);
        l.v=j;
        l.cost=-d;
        a[k].push_back(l);
    }
    bfs(x);
    printf ("%d",viz[y]);
    return 0;
}