Pagini recente » Cod sursa (job #1403936) | Istoria paginii runda/forsen | Cod sursa (job #895997) | Cod sursa (job #831908) | Cod sursa (job #2916567)
#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();
}
}