Cod sursa(job #2369774)

Utilizator AlexTudorAlex Brinza AlexTudor Data 6 martie 2019 09:11:30
Problema Sate Scor 80
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.79 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("sate.in");
ofstream g("sate.out");

const int NMAX1=30005,NMAX2=100030;

int dist[NMAX1],a[NMAX2],b[NMAX2],d[NMAX2];

int N,M,X,Y;

void read()
{
    f>>N>>M>>X>>Y;

    for(int i=1;i<=M;++i)
    {
        f>>a[i]>>b[i]>>d[i];
    }

    dist[X]=1;

    while(dist[Y]==0)
    {
        for(int i=1;i<=M;++i)
            {
             if(dist[a[i]]!=0 && dist[b[i]]==0)
                {
                    dist[b[i]]=dist[a[i]]+d[i];
                }
            else
                if(dist[a[i]]==0 && dist[b[i]]!=0)
                    {
                        dist[a[i]]=dist[b[i]]-d[i];
                    }
            }
    }

    g<<dist[Y]-1;


}

int main()
{
    read();
    return 0;
}