Pagini recente » Diferente pentru problema/mine intre reviziile 10 si 6 | Cod sursa (job #151168) | Cod sursa (job #1071715) | Cod sursa (job #1215640) | Cod sursa (job #1033551)
#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)
{
verif[k]=true;
for(int i=0;i<V[k].size();i++)
if(verif[V[k][i]]==false)
dfs(V[k][i]);
}