Pagini recente » Cod sursa (job #70724) | Cod sursa (job #2456541) | Cod sursa (job #1003807) | Cod sursa (job #2278524) | Cod sursa (job #1774101)
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <cstdio>
#include <cstring>
#include<vector>
#include<queue>
using namespace std;
int n, m, s;
vector <int>lv[100];
vector <int>::iterator ii;
queue <int>q;
bool used[100000];
int main()
{
FILE *f = fopen("bfs.in", "r");
FILE *g = fopen("bfs.out", "w");
int x, y;
fscanf(f, "%d%d%d", &n, &m, &s);
memset(used, 0, sizeof(used));
for (int i = 1; i <= m; i++)
{
fscanf(f, "%d%d", &x, &y);
lv[x].push_back(y);
lv[y].push_back(x);
}
q.push(1);
used[1] = 1;
while (!q.empty())
{
cout << (x = q.front()) << " ";
q.pop();
for (ii = lv[x].begin(); ii != lv[x].end(); ++ii)
if (!used[*ii])
{
used[*ii] = 1;
q.push(*ii);
}
}
cout << "\nUrmatoarele noduri formeaza o componenta conexa:\n";
for (int i = 1; i <= n; i++)
if (used[i])cout << i << " ";
return 0;
}