Pagini recente » Cod sursa (job #2246931) | Cod sursa (job #1682395) | Cod sursa (job #2158775) | Cod sursa (job #541556) | Cod sursa (job #2238006)
#include<iostream>
#include<fstream>
#include<vector>
#define NMAX 100010
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int N,M,X,Y,conex=0;
bool viz[NMAX];
vector<int>graph[NMAX];
void scan()
{
in>>N>>M;
for(int i=0;i<M;i++)
{
in>>X>>Y;
graph[X].push_back(Y);
graph[Y].push_back(X);
}
}
void dfs(int nodplecare)
{
viz[nodplecare]=1;
for(int i=0;i<graph[nodplecare].size();i++)
if(!viz[graph[nodplecare][i]])
dfs(graph[nodplecare][i]);
}
void con()
{
for(int i=1;i<=N;i++)
if(!viz[i])
{
conex++;
dfs(i);
}
}
int main()
{
scan();
con();
cout<<conex;
}