Cod sursa(job #2916567)

Utilizator andrew91beteringhe andrei andrew91 Data 30 iulie 2022 15:45:44
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <iostream>
#include <set>
#include <queue>
#include <algorithm>

using namespace std;
ifstream fin("bfs.inn");
ofstream fout("bfs.out");
int n,m,x;
int v[101];
int t[101];
set<int> G[101];
void Bfs(int x);
int main()
{
    fin>>n>>m>>x;
    int a,b;
    for(int i=1;i<=m;i++)
    {
        fin>>a>>b;
        G[a].insert(b);
        G[b].insert(a);
    }
    Bfs(x);
    return 0;
}
void Bfs(int x)
{
    queue<int> q;
    v[x]=1;
    q.push(x);
    while(!q.empty())
    {
        int k=q.front();
        for(set<int> :: iterator it=G[k].begin();it!=G[k].end();it++)
            if(v[*it]==0)
        {
            v[*it]=1;
            t[*it]=k;
            q.push(*it);
        }
        fout<<k<<" ";
        q.pop();
    }
}