Pagini recente » Cod sursa (job #2702149) | Cod sursa (job #1762177) | Cod sursa (job #3269017) | Cod sursa (job #3163055) | Cod sursa (job #3300105)
#include <bits/stdc++.h>
using namespace std;
int noduri,muchii,cnt=0;
bool viz[100005];
queue<int>q;
vector <int>vecin[100005];
void dfs(int nod)
{
cnt++;
q.push(nod);
viz[nod]=1;
while(!q.empty())
{
int nod_curent=q.front();
q.pop();
for(auto i:vecin[nod_curent])
if(!viz[i])
q.push(i), viz[i]=1;
}
}
int main()
{
ifstream cin("dfs.in");
ofstream cout("dfs.out");
cin>>noduri>>muchii;
int x,y;
for(int i=1; i<=muchii; i++)
{
cin>>x>>y;
vecin[x].push_back(y);
vecin[y].push_back(x);
}
for(int i=1; i<=noduri; i++)
{
if(!viz[i])
dfs(i);
}
for(int i=1; i<=noduri; i++)
cnt+=(1-viz[i]);
cout<<cnt;
return 0;
}