Pagini recente » Cod sursa (job #3227765) | Cod sursa (job #1317701) | Cod sursa (job #3195363) | Cod sursa (job #70111) | Cod sursa (job #2461951)
#include <fstream>
#include <vector>
#define NM 100009
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
int n,m,i,nr,j,x,y;
int fr[NM];
vector < int > a[NM];
void dfs(int k){
for(int j=0;j<a[k].size();j++){
y=a[k][j];
if(fr[y]==0){ fr[y]=1; dfs(y); }
}
}
int main()
{
f>>n>>m;
for(i=1;i<=m;i++){ f>>x>>y; a[x].push_back(y); a[y].push_back(x); }
nr=0;
for(i=1;i<=n;i++){
if(fr[i]==0){
fr[i]=1; nr++; //g<<i<<' ';
dfs(i);
}
}
g<<nr<<'\n';
return 0;
}