Cod sursa(job #1759461)

Utilizator amaliarebAmalia Rebegea amaliareb Data 19 septembrie 2016 11:40:42
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <iostream>
#include <fstream>
#include <vector>

using namespace std;
ifstream f("sate.in");
ofstream g("sate.out");
int n,m,i,j,q[30001],d[30001],c,e,distanta,x,y,st,dr;
vector<int> a[30001],dist[30001];

int main()
{
    f>>n>>m>>x0>>y0;
    for(i=1;i<=m;i++)
    {
        f>>c>>e>>distanta;
        a[c].push_back(e);
        a[e].push_back(c);
        dist[c].push_back(distanta);
        dist[e].push_back(distanta);
    }
    st=1; dr=1; q[dr]=x0; d[dr]=0;
    while(st<=dr)
    {
        x=q[st];
        for(j=0;j<a[x].size();j++)
        {
            y=a[x][j];
            q[++dr] = y;
            if(y>x) d[y]=d[x]+dist[x][j];
            else  d[y]=d[x]-dist[x][j];
        }
        st++;
    }
    g<<d[y0]<<'\n';
    return 0;
}