Cod sursa(job #2621930)

Utilizator moscoviciandreiMoscovici Andrei moscoviciandrei Data 31 mai 2020 00:58:27
Problema BFS - Parcurgere in latime Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("BFS.in");
ofstream fout("BFS.out");
int n,m,X,viz[101],c[101],a[101][101];

void citire()
{int x,y;
fin>>n>>m>>X;
for(int i=1;i<=m;i++)
    {fin>>x>>y;
     a[x][y]=a[y][x]=1;
    }
}

void BFS(int vf)
{int p,u,v;
 p=u=1;
 c[p]=vf;
 viz[vf]=1;
 while(p<=u)
    {v=c[p++];
    for(int i=1;i<=n;i++)
        if(a[v][i]==1&&viz[i]==0)
            {c[++u]=i;
             viz[i]=1;
            }
    }
}

int main()
{
citire();
BFS(X);
for(int i=1;i<=n;i++)
    fout<<c[i]<<" ";
fin.close();fout.close();
return 0;
}