Pagini recente » Cod sursa (job #1231138) | Cod sursa (job #1914158) | Cod sursa (job #554917) | Cod sursa (job #1461477) | Cod sursa (job #2896889)
#include <iostream>
#include <fstream>
using namespace std;
#define DIM 200001
bool culoare[DIM];
int n,m,u,v,ans;
pair<int,int> list[DIM];
void dfs(int nod){
culoare[nod]=1;
for(int i=1;i<=m;i++){
if(list[i].first==nod && culoare[list[i].second]==0){
dfs(list[i].second);
}
else if(list[i].second==nod && culoare[list[i].first]==0){
dfs(list[i].first);
}
}
}
int main(){
ifstream fin("dfs.in");
ofstream fout("dfs.out");
fin>>n>>m;
for(int i=1;i<=m;i++){
fin>>u>>v;
list[i].first=u;
list[i].second=v;
}
for(int i=1;i<=n;i++){
if(culoare[i]==0){
dfs(i);
ans++;
}
}
fout<<ans;
}