Pagini recente » Cod sursa (job #1109781) | Profil Sykz | Cod sursa (job #2722842) | Cod sursa (job #2199888) | Cod sursa (job #2943727)
#include <bits/stdc++.h>
#define N 100001
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
queue <int>q;
int n, m, x, y, cnt;
vector <int> g[N];
bool viz[N];
void bfs(int start)
{
viz[start]=1;
q.push(start);
while(!q.empty())
{
int varf=q.front();
int l=g[varf].size();
for(int i=0; i<l; i++)
{
int vecin=g[varf][i];
if(viz[vecin]==0)
{
q.push(vecin);
viz[vecin]=1;
}
}
q.pop();
}
}
int main()
{
in >> n >> m;
for(int i=1; i<=m; i++)
{
in >> x >> y;
g[x].push_back(y);
g[y].push_back(x);
}
for(int i=1; i<=n; i++)
if(viz[i]==0)
{
bfs(i);
cnt++;
}
out << cnt;
return 0;
}