Cod sursa(job #1810606)

Utilizator Robert_VRVRobert Vadastreanu Robert_VRV Data 20 noiembrie 2016 12:41:06
Problema Sate Scor 45
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.84 kb
#include <fstream>

using namespace std;
ifstream fin("sate.in");
ofstream fout("sate.out");
int a[1001][1001],dis[1001],v[1001],p,u,c[1001],n,m,x,y;
void latime(int r)
{
    int i,k;
    p=u=1;
    c[p]=r;
    v[r]=1;
    while(p<=u)
    {
        k=c[p];
        for(i=1;i<=n;i++)
        {
            if(v[i]==0 && a[k][i]>0)
            {
                u++;
                c[u]=i;
                v[i]=1;
                dis[i]=dis[k];
                if(k>i)
                    dis[i]-=a[k][i];
                else
                    dis[i]+=a[k][i];
            }
        }
        p++;
    }
}
int main()
{
    fin>>n>>m>>x>>y;
    int x1,x2,i,d;
    for(i=1;i<=m;i++)
    {
        fin>>x1>>x2>>d;
        a[x1][x2]=d;
        a[x2][x1]=d;
    }
    latime(x);
    fout<<dis[y];
    return 0;
}