Pagini recente » Cod sursa (job #1957703) | Cod sursa (job #2967027) | Cod sursa (job #2150701) | Cod sursa (job #2342655) | Cod sursa (job #1789144)
#include <cstdio>
#include <vector>
using namespace std;
struct Nod
{
vector<int> v;
int s;
} v[100000];
void dfs(int n)
{
if(v[n].s == 1)
return;
v[n].s = 1;
for(int i = 0; i < v[n].v.size(); i++)
dfs(v[n].v[i]);
}
int main()
{
int n, m, i, j, a, b, r = 0;
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
scanf("%d %d\n", &n, &m);
for(i = 0; i < n; i++)
v[i].s = 0;
for(i = 0; i < m; i++)
{
scanf("%d %d\n", &a, &b);
a--; b--;
v[a].v.push_back(b);
v[b].v.push_back(a);
}
for(i = 0; i < n; i++)
{
if(v[i].s == 0)
{
r++;
dfs(i);
}
}
printf("%d", r);
return 0;
}