Cod sursa(job #2137510)

Utilizator AlexandruPaulSirbu Alex AlexandruPaul Data 20 februarie 2018 20:39:15
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
#include <deque>
#define Maxx 101
using namespace std;
int C[Maxx];
ifstream fin("bfs.in");
ofstream fout("bfs.out");
int n,m,x,a,b,i,p,u,v;
bool A[Maxx][Maxx],VIZ[Maxx];
int main()
{
    fin>>n>>m>>x;
    for (i=1;i<=m;i++)
    {
        fin>>a>>b;
        A[a][b]=A[b][a]=1;
    }
    p=1;u=1;
    C[1]=x;
    VIZ[x]=1;
    while (p<=u)
    {
        v=C[p];
        p++;
        for (i=1;i<=n;i++)
        {
            if (A[v][i]==1 && VIZ[i]==0)
            {
                C[++u]=i;
                VIZ[i]=1;
            }
        }
    }
    for (i=1;i<=u;i++)
        fout<<C[i]<<" ";
    return 0;
}