Pagini recente » Cod sursa (job #2206425) | Cod sursa (job #2554269) | Cod sursa (job #3186065) | Cod sursa (job #688182) | Cod sursa (job #3300108)
#include <iostream>
#include<vector>
#include<fstream>
using namespace std;ifstream fin("dfs.in");ofstream fout("dfs.out");
vector<int>graf[100001];int n,m,i,x,y,rsp;bool mark[100001];
void dfs(int x){mark[x]=1;
for(int j=0;j<graf[x].size();j++){
if(!mark[graf[x][j]])
{mark[graf[x][j]]=1;dfs(graf[x][j]);}
//cout<<x<<' '<<graf[x][j]<<'\n';
}
}
int main()
{
fin>>n>>m;for(i=1;i<=m;i++){fin>>x>>y;graf[x].push_back(y);graf[y].push_back(x);}
for(i=1;i<=n;i++){
if(mark[i])continue;
dfs(i);rsp++;
}fout<<rsp;
return 0;
}