Pagini recente » Cod sursa (job #1245451) | Cod sursa (job #554268) | Cod sursa (job #2025877) | Cod sursa (job #561504) | Cod sursa (job #2227896)
#include <cstdio>
int main()
{
freopen("dfs.in", "r", stdin);
freopen("dfs.out", "w", stdout);
int nodes, edges, parent[100001], u, v, t, x = 0;
scanf("%d %d", &nodes, &edges);
for(int i = 1; i <= nodes; i++)
{
parent[i] = i;
}
for(int i = 1; i <= edges; i++)
{
scanf("%d %d", &u, &v);
while(u != parent[u]) t = parent[parent[u]], parent[u] = t, u = t;
while(v != parent[v]) t = parent[parent[v]], parent[v] = t, v = t;
if(u != v) x++; parent[u] = v;
}
printf("%d", nodes - x);
}