Cod sursa(job #2169420)

Utilizator DamianRobertDamian Robert DamianRobert Data 14 martie 2018 15:22:00
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <bits/stdc++.h>
using namespace std;
#define nmax 30004

ifstream fin("sate.in");
ofstream fout ("sate.out");

vector <pair <int,int> > l[nmax];
int dist[nmax];
int n, m, x, y;

int bfs()
{   int c;
    queue <int> q;
    q.push(x);
    while (!q.empty())
    {   c=q.front();
        q.pop();
        if(c==y)
            return dist[y];

        for(int i=1; i<l[c].size(); i++)
        {cout<<"reeeeee"<<endl;
            if (!dist[l[c][i].first])
            {cout<<"reeeeee2"<<endl;
                if (c<l[c][i].first)
                {
                    dist[l[c][i].first]=dist[c]+ l[c][i].second;
                }
                else
                {
                    dist[l[c][i].first]=dist[c]- l[c][i].second;
                }

                q.push(l[c][i].first);
            }

        }
    }
}

int main()
{
    int a, b, d;
    fin>>n>>m>>x>>y;
    for(int i = 1; i <= m; i++)
    {
        fin>>a>>b>>d;
        cout<<a<<b<<endl;
        l[a].push_back(make_pair(b,d));
        l[b].push_back(make_pair(a,d));
    }
    fout<<bfs();
    return 0;
}