Pagini recente » Cod sursa (job #3005146) | Cod sursa (job #1422939) | Cod sursa (job #2989396) | Cod sursa (job #3288761) | Cod sursa (job #2844720)
#include<queue>
#include<cstdio>
using namespace std;
int n,m,viz[100001];
vector<int> l[100001];
void dfs(int x)
{
viz[x]=1;
for(int i=0;i<l[x].size();i++)
if(viz[l[x][i]]==0)
dfs(l[x][i]);
}
void read(int &n,int &m,vector<int> l[100001])
{
int x,y,i;
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
{
scanf("%d%d",&x,&y);
l[x-1].push_back(y-1);
l[y-1].push_back(x-1);
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int x,i,nrc=0,y;
read(n,m,l);
for(i=0;i<n;i++)
if(viz[i]==0)
{
dfs(i);
nrc++;
}
printf("%d\n",nrc);
return 0;
}