Pagini recente » Cod sursa (job #1599886) | Cod sursa (job #2920234) | Cod sursa (job #295203) | Cod sursa (job #813161) | Cod sursa (job #1883230)
#include <fstream>
#include <cstdio>
using namespace std;
ofstream cout("dfs.out");
int n,m,a,b,k;
bool viz[100005];
struct nod{
int inf;
nod *urm;
}*L[100005];
inline void add(const int &a, const int &b){
nod *p=new nod;
p->inf=b;
p->urm=L[a];
L[a]=p;
}
inline void DFS(int x){
int i;
for(nod *p=L[x];p;p=p->urm)
if(!viz[p->inf])
viz[p->inf]=1,DFS(p->inf);
}
int main()
{
FILE*cin=freopen("dfs.in","r",stdin);
scanf("%d%d",&n,&m);
for(int i=1;i<=m;i++){
scanf("%d%d",&a,&b);
add(b,a);
add(a,b);
}
for(int i=1;i<=n;i++)
if(!viz[i])
DFS(i),k++;
cout<<k;
return 0;
}