Cod sursa(job #1082995)

Utilizator WyvernFMI Stanescu Leonard Wyvern Data 15 ianuarie 2014 14:48:36
Problema Sate Scor 100
Compilator cpp Status done
Runda Teme Pregatire ACM Unibuc 2013 Marime 0.67 kb
#include <vector>
#include <fstream>
using namespace std;
ifstream fi("sate.in");
ofstream fo("sate.out");
#define mp make_pair
#define pb push_back
#define FOR(i,s,d) for(i=(s);i<(d);++i)
#define sz size()
#define f first
#define s second
vector <pair <int,int> > g[32768];
int a[32768],v[32768],n,m,x,y,i,j,c,ii;
void parc(int i,int x) {
    int j;
    if(v[i]||v[y])
        return ;
    v[i]=1,a[i]=x;
    FOR(j,0,g[i].sz)
        parc(g[i][j].f,x+g[i][j].s);
}
int main() {
    fi>>n>>m>>x>>y;
    FOR(ii,0,m) {
        fi>>i>>j>>c;
        g[i].pb(mp(j,c));
        g[j].pb(mp(i,-c));
    }
    parc(x,0);
    fo<<a[y]<0?-a[y]:a[y];
    return 0;
}