Pagini recente » Cod sursa (job #2736315) | Cod sursa (job #2087457) | Cod sursa (job #1407715) | Cod sursa (job #2243627) | Cod sursa (job #2784724)
#include <iostream>
#include <fstream>
//#include <vector>
using namespace std;
int coada[100], st = 1, dr = 1, vizitati[100];
int vizitat(int x) {
int ok = 0, i = st;
while(ok == 0 && i <= dr){
if(vizitati[i] == x)
ok = 1;
i++;
}
return ok;
}
int main()
{
int n, m, s;
ifstream in("bfs.in");
ofstream out("bfs.out");
in >> n >> m >> s;
int a[n][n];
for(int i = 1; i <= m; i++){
int x, y;
in >> x >> y;
a[x][y] = a[y][x] = 1;
}
coada[st] = s;
vizitati[st] = s;
dr++;
while(st != dr) {
for(int i = 1; i <= n; i++) {
if(a[coada[st]][i] != 0 && vizitat(i) == 0){
cout << i << " ";
vizitati[dr] = i;
coada[dr] = i;
dr++;
}
}
st++;
}
return 0;
}