Pagini recente » Cod sursa (job #1424349) | Cod sursa (job #2090752) | Cod sursa (job #675731) | Cod sursa (job #707433) | Cod sursa (job #1446299)
#include <iostream>
#include <fstream>
using namespace std;
int n,m,viz[100000];
struct nod
{
int info;
nod *next;
} *l[100000];
void df_l(int k)
{ nod *p;
viz[k]=1;
p=l[k];
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,j,x,y,nr=1;
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;
}
i=1;
while(i!=n)
{if(viz[i]==0)
{
nr++;
df_l(i);
}
i++;}
g<<nr;
return 0;
}