Pagini recente » Cod sursa (job #2364132) | Cod sursa (job #1307820) | Cod sursa (job #867802) | Cod sursa (job #2407376) | Cod sursa (job #1027320)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
vector <int> V[200001];
int n,m,cnt=0;
bool verif[200001]={false};
void dfs(int k);
int main()
{
fin>>n>>m;
int a,b;
for(int i=1;i<=m;i++){
fin>>a>>b;
V[a].push_back(b);
V[b].push_back(a);
}
for(int i=1;i<=n;i++)
if(verif[i]==false){
dfs(i);
cnt++;
}
fout<<cnt;
return 0;
}
void dfs(int k)
{
for(int i=1;i<=n;i++)
if(verif[i]==false)
for(int j=0;j<V[i].size();j++)
if(V[i][j]==k){
verif[i]=true;
dfs(i);
}
}