Pagini recente » Cod sursa (job #1857996) | Cod sursa (job #1930082) | Cod sursa (job #1823990) | Cod sursa (job #3325700) | Cod sursa (job #1828954)
#include <fstream>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
struct nod{
int inf;
nod *urm;
};
nod *l[200001];
int n,m;
bool v[100001];
void cit(){
int i,j,k;
nod *q;
fin>>n>>m;
for(i=1;i<=n;i++)
l[i]=0;
for(k=1;k<=m;k++){
fin>>i>>j;
q=new nod;
q->inf=j;
q->urm=l[i];
l[i]=q;
q=new nod;
q->inf=i;
q->urm=l[j];
l[j]=q;
}
fin.close();
}
void dfs(int k){
nod *q;
int i;
v[k]=1;
q=l[k];
while(q!=0){
i=q->inf;
if(v[i]==0)
dfs(i);
q=q->urm;
}
}
int main(){
cit();
int i,nr=0;
for(i=1;i<=n;i++)
if(v[i]==0){
nr++;
dfs(i);
}
fout<<nr;
fout.close();
return 0;
}