Pagini recente » Cod sursa (job #1986874) | Cod sursa (job #578744) | Cod sursa (job #1304550) | Cod sursa (job #83389) | Cod sursa (job #758048)
Cod sursa(job #758048)
# include <cstdio>
# include <vector>
using namespace std;
int n, m, i, a, b, ct, ct1, coada[50005], viz[50005];
vector <int> v[50005];
void dfs(int nod)
{
vector<int> ::iterator it;
viz[nod] = 1;
coada[++ct1] = nod;
for (it = v[nod].begin(); it != v[nod].end(); it++)
if (!viz[*it]) viz[*it] = 1, dfs(*it);
}
int main()
{
freopen("sortaret.in","r",stdin);
freopen("sortaret.out","w",stdout);
scanf("%d%d",&n,&m);
for (i = 1; i <= m; i++)
{
scanf("%d %d",&a,&b);
v[a].push_back(b);
v[b].push_back(a);
}
for (i = 1; i <= n; i++)
if (!viz[i]) ct++, dfs(i);
printf("%d\n",ct);
for (i = 1; i <= ct1; i++)
printf("%d ",coada[i]);
return 0;
}