Cod sursa(job #1385849)

Utilizator firutibogdanFiruti Bogdan-Cristian firutibogdan Data 12 martie 2015 14:51:19
Problema Sate Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include<fstream>
using namespace std;
int n,m,x,y,a,b,c,i,viz[30002];
struct nod
{
    int x,cost;
    nod *leg;
};
nod *p,*v[30002];
void dfs(int x)
{
    nod *p;
    for(p=v[x];p!=0;p=p->leg)
    {
        if(viz[p->x]==0)
        {
            if(p->x>x) viz[p->x]=viz[x]+p->cost;
            else viz[p->x]=viz[x]-p->cost;
            dfs(p->x);
        }
    }
}
int main()
{
     ifstream fin("sate.in");
    ofstream fout("sate.out");
    fin>>n>>m>>x>>y;
    for(i=1;i<=m;i++)
    {
        fin>>a>>b>>c;

        p=new nod;
        p->x=a;
        p->cost=c;
        p->leg=v[b];
        v[b]=p;

        p=new nod;
        p->x=b;
        p->cost=c;
        p->leg=v[a];
        v[a]=p;
    }
    viz[x]=1;
    dfs(x);
    fout<<viz[y]-1;
    fin.close();
    fout.close();
    return 0;
}