Pagini recente » Cod sursa (job #1508046) | Cod sursa (job #2044374) | Cod sursa (job #2766725) | Cod sursa (job #2362266) | Cod sursa (job #975082)
Cod sursa(job #975082)
#include<stdio.h>
#include<vector>
#define pb push_back
#define maxn 100005
using namespace std;
int n,m,nrc;
int v[maxn];
vector <int> l[maxn];
void read()
{
int i;
int x,y;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
l[x].pb(y);
l[y].pb(x);
}
}
void dfs(int k)
{
v[k]=1;
for(unsigned int i=0;i<l[k].size();i++)
if(v[l[k][i]]==0)
dfs(l[k][i]);
}
void solve()
{
int i;
for(i=1;i<=n;i++)
if(v[i]==0)
{
nrc++;
dfs(i);
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
read();
solve();
printf("%d",nrc);
fclose(stdin);
fclose(stdout);
return 0;
}