Pagini recente » Cod sursa (job #211208) | Cod sursa (job #1470574) | Cod sursa (job #1645818) | Cod sursa (job #2413880) | Cod sursa (job #504435)
Cod sursa(job #504435)
#include<cstdio>
#include<vector>
using namespace std;
const char in[]="dfs.in";
const char out[]="dfs.out";
const int N = 100001;
vector<int> G[N];
int viz[N], n, m, sol;
void dfs(int x)
{
viz[x] = 1;
for(unsigned int i = 0 ; i < G[x].size() ; ++i)
if(!viz[G[x][i]]) dfs(G[x][i]);
}
int main()
{
freopen(in,"r",stdin);
freopen(out,"w",stdout);
scanf("%d%d", &n, &m);
for(int i = 1 ; i <= m ; ++i)
{
int x, y;
scanf("%d%d", &x, &y);
G[x].push_back(y);
G[y].push_back(x);
}
for(int i = 1 ; i <= n ; ++i)
if(!viz[i])++sol, dfs(i);
printf("%d\n", sol);
}