Pagini recente » Cod sursa (job #1341869) | Istoria paginii runda/cls11_10febr | Istoria paginii runda/abcabc | Cod sursa (job #3172664) | Cod sursa (job #1446306)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,viz[100005];
struct nod
{
int info;
nod *next;
} *l[100005];
void df_l(int k)
{ nod *p;
viz[k]=1;
for(p=l[k];p!=NULL;p=p->next)
if(viz[p->info]==0) df_l(p->info);
}
int main()
{ ifstream f("dfs.in");
ofstream g("dfs.out");
int i,x,y,nr=0;
nod *p,*q;
f>>n;
f>>m;
for(i=1;i<=m;i++)
{
f>>x>>y;
p=new nod;
p->info=y;
p->next=l[x];
l[x]=p;
q=new nod;
q->info=x;
q->next=l[y];
l[y]=q;
}
for(i=1;i<=n;i++)
if(!viz[i])
{nr++;
df_l(i);}
g<<nr;
return 0;
}