Pagini recente » Borderou de evaluare (job #1022329) | Borderou de evaluare (job #2569115) | Cod sursa (job #1311905) | Borderou de evaluare (job #2097809) | Cod sursa (job #3038260)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n,m,f[1000001];
vector <int>G[100001];
void dfs(int nod){
f[nod]=1;
for(size_t i=0;i<G[nod].size();i++){
int vecin=G[nod][i];
if(f[vecin]==0)
dfs(vecin);
}
}
int main(){
fin>>n>>m;
for(int ll=1;ll<=m;ll++){
int i,j;
fin>>i>>j;
G[i].push_back(j);
G[j].push_back(i);
}
int cnt=0;
for(int i=1;i<=n;i++){
if(f[i]==0)
cnt++,dfs(i);
}
fout<<cnt;
return 0;
}