Cod sursa(job #2384817)

Utilizator seba99Sebastian Balan seba99 Data 21 martie 2019 10:52:00
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <list>
#include <utility>
#include <queue>
using namespace std;
bool check[50];
int pred[50],d[50];
int main()
{
    int x;
    ifstream fin("graf.in");
    while (fin>>x)
        check[x]=true;
    int st;
    cin>>st;
    queue <int> Q;
    Q.push(st);
    pred[st]=-1;
    d[st]=0;
    while (!Q.empty())
    {
        x=Q.front();
        Q.pop();
        if (check[x]) break;
        for (int y:L[x])
            if (!pred[y])
        {
            pred[y]=x;
            d[y]=d[x]+1;
            Q.push(y);
        }
    }
    cout<<"cel mai apropiat punct de control este"<<x;
    cout<<"distanta"<<d[x];
    list <int> l;
    while (x!=-1)
    {
        l.push_front(x);
        x=pred[x];
    }
    for (int p:l) cout<<p<<" ";
    return 0;
}