Cod sursa(job #1751046)

Utilizator otnielMercea Otniel otniel Data 31 august 2016 17:09:12
Problema Sate Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.14 kb
#include<iostream>
#include<vector>
#include<fstream>
using namespace std;
vector<int> a[30003];
int x,y;
vector<int> distante[30003];
int vizitat[30003];
int coada[100027];
void bfs(int start)
{
    int inceput,sfarsit;
    inceput=sfarsit=1;
    coada[inceput]=start;
    vizitat[start]=1;
    while(inceput<=sfarsit)
    {
        for(int i=0;i<a[coada[inceput]].size();i++)
        {
            if(vizitat[a[coada[inceput]][i]]==0)
            {
                sfarsit++;
                coada[sfarsit]=a[coada[inceput]][i];

                if(coada[sfarsit]==y)
                {
                    i=inceput=sfarsit+1;
                    break;
                }
                vizitat[a[coada[inceput]][i]]=1;
            }
        }
        inceput++;
    }
}
int main()
{
    ifstream f("sate.in");
    ofstream g("sate.out");

    int n,m;
    f>>n>>m>>x>>y;

    for(int i=0;i<m;i++)
    {
        int sat1,sat2,distanta;
        f>>sat1>>sat2;
        f>>distanta;
        distante[sat1].push_back(distanta);
        distante[sat2].push_back(distanta);
        a[sat1].push_back(sat2);
        a[sat2].push_back(sat1);
    }

    bfs(x);
    g<<100;

}