Pagini recente » Cod sursa (job #1226035) | Cod sursa (job #1748091) | Cod sursa (job #1850576) | Cod sursa (job #1784684) | Cod sursa (job #1474262)
#include <cstdio>
#include <vector>
#define LIM 100023
using namespace std;
vector<int>adj[LIM];
int vis[LIM],n,m;
void dfs(int nod)
{
vis[nod]=1;
vector<int>::iterator it;
for(it=adj[nod].begin();it!=adj[nod].end();++it)
{
if(vis[*it]==0) dfs(*it);
}
}
int main()
{
freopen ("dfs.in","r",stdin);
freopen ("dfs.out","w",stdout);
scanf("%d%d",&n,&m);
int x,y;
for(int i=1;i<=m;i++)
{
scanf("%d%d",&x,&y);
adj[x].push_back(y);
adj[y].push_back(x);
}
int ct=0;
for(int i=1;i<=n;i++)
{
if(vis[i]==0)
{
ct++;
dfs(i);
}
}
printf("%d\n",ct);
}