Pagini recente » Cod sursa (job #931540) | Cod sursa (job #81874) | Cod sursa (job #1865366) | Cod sursa (job #3200220) | Cod sursa (job #492797)
Cod sursa(job #492797)
#include<cstdio>
#include<vector>
using namespace std;
vector<int> v[100001];
void read(),solve(),DFS(int);
int x,y,N,M,i,sol;
bool viz[60000000];
int main()
{
read();
solve();
return 0;
}
void read()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
scanf("%d%d",&N,&M);
for(i=1;i<=M;i++)
{
scanf("%d%d",&x,&y);
v[x].push_back(y);
v[y].push_back(x);
}
}
void solve()
{
for(i=1;i<=N;i++)
{
if(viz[i])continue;
sol++;
viz[i]=1;
DFS(i);
}
printf("%d",sol);
}
void DFS(int I)
{
vector<int>::iterator q;
for(q=v[I].begin();q!=v[I].end();q++)
{
if(viz[*q])continue;
viz[*q]=1;
DFS(*q);
}
}