Pagini recente » Cod sursa (job #54097) | Cod sursa (job #1762257) | Cod sursa (job #881758) | Cod sursa (job #2875338) | Cod sursa (job #2512122)
#include <bits/stdc++.h>
#define NMAX 100001
using namespace std;
ifstream f ("dfs.in");
ofstream g ("dfs.out");
vector <vector <int> > la;
int n,m,nrc;
bool used[NMAX];
void citire()
{
f >> n >> m;
la.resize(n+1);
int x,y;
for(int i=1;i<=m;++i)
{
f >> x >> y;
la[x].push_back(y);
la[y].push_back(x);
}
}
void dfs(int x)
{
used[x] = 1;
for(vector <int>::iterator it = la[x].begin(); it!=la[x].end();++it)
if(used[*it] == 0)dfs(*it);
}
void rez()
{
for(int i=1;i<=n;++i)
if(used[i] == 0)nrc++,dfs(i);
g << nrc;
}
int main()
{
citire();
rez();
return 0;
}