Pagini recente » Cod sursa (job #1433294) | Cod sursa (job #591787) | Cod sursa (job #1175289) | Cod sursa (job #1354494) | Cod sursa (job #2865589)
#include <bits/stdc++.h>
#define f(i,n) for(int i=0;i<n;i++)
#define ri(n) fscanf(in,"%i",&n)
#define w(n) fprintf(out,n);
#define wi(n) fprintf(out,"%i",n);
#define nmax 100001
using namespace std;
FILE* in=fopen("dfs.in","r");
FILE* out=fopen("dfs.out","w");
int n,m;
vector<int> adj[nmax];
bool vis[nmax];
void dfs(int nod)
{
vis[nod]=1;
for(auto e:adj[nod])
{
if(!vis[e]) dfs(e);
}
}
int main()
{
ri(n);
ri(m);
{
int a,b;
f(i,m)
{
ri(a);
ri(b);
adj[a].push_back(b);
adj[b].push_back(a);
}
}
int ans=0;
f(i,n)
{
if(!vis[i+1])
{
ans++;
dfs(i+1);
}
}
wi(ans);
return 0;
}