Pagini recente » Monitorul de evaluare | Cod sursa (job #3283197) | Cod sursa (job #454868) | fmi-no-stress-2012/solutii/parantezare | Cod sursa (job #1566289)
#include <cstdio>
#include <vector>
using namespace std;
vector <int> G[100005];
int viz[100005],comp;
void dfs(int i)
{
int v;
for(int j=0;j<(int)G[i].size();j++)
{
v=G[i][j];
if(viz[v]==0)
{
viz[v]=comp;
dfs(v);
}
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int n,m,a,b,i;
scanf("%d%d",&n,&m);
for(i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
G[a].push_back(b);
G[b].push_back(a);
}
for(i=1;i<=n;i++)
if(viz[i]==0)
{
comp++;
dfs(i);
}
printf("%d\n",comp);
return 0;
}