Pagini recente » Cod sursa (job #116474) | Cod sursa (job #118548) | Cod sursa (job #1762514) | Cod sursa (job #1361340) | Cod sursa (job #3142196)
#include <fstream>
#include <vector>
#define NMAX 100005
#define pb push_back
using namespace std;
ifstream cin("dfs.in");
ofstream cout("dfs.out");
vector<int> adj[NMAX];
bool vis[NMAX];
int n,m,x,y,cnt;
void dfs(int nod)
{
vis[nod] = 1;
for(int k=0; k < adj[nod].size(); k++)
{
if(!vis[adj[nod][k]])
vis[adj[nod][k]] = 1 , dfs(adj[nod][k]);
}
}
int main()
{
cin >> n >> m;
for(int i=1; i <= m; i++)
{
cin >> x >> y;
adj[x].pb(y);
adj[y].pb(x);
}
for(int i=1; i <= n; i++)
{
if(!vis[i])
dfs(i) , cnt++;
}
cout << cnt;
return 0;
}