Pagini recente » Cod sursa (job #2193409) | Cod sursa (job #1850714) | Profil rgruici | Cod sursa (job #1723566) | Cod sursa (job #1173513)
#include<fstream>
using namespace std;
ifstream f("dfs.in",ios::in);
ofstream g("dfs.out",ios::out);
typedef struct nod{
int info; nod* ad;};
nod *sf,*p;
long s[2000001],n,x,y,m,i;
nod *v[200001];
void adaugare(nod *&sf, int nr)
{
nod* p;
p=new nod;
sf->ad=p;
p->info=nr;
p->ad=0;
sf=p;}
void citire()
{
f>>n;
f>>m;
for(i=1;i<=m;i++)
{
f>>x;
f>>y;
adaugare(v[x],x);
adaugare(v[y],y);}}
void df(long x)
{
nod* p;
s[x]=1;
for(p=v[x];p!=NULL;p=p->ad)
if(s[p->info]==0)
df(p->info);}
int main()
{
long c,i;
citire();
c=0;
for(i=1;i<=n;i++)
if(s[i]==0)
{
c++;
df(i);
}
g<<c;
return 0;}