Pagini recente » Cod sursa (job #106422) | Cod sursa (job #1832228) | Cod sursa (job #2559896) | Cod sursa (job #279133) | Cod sursa (job #416690)
Cod sursa(job #416690)
#include<fstream>
#include<list>
#define NMAX 100005
#define in ifstream fin("dfs.in")
#define out ofstream fout("dfs.out")
using namespace std;
typedef list<long> LI;
typedef LI::iterator IT;
LI L[NMAX];
long v[NMAX],n,m;
void cit()
{in;
int x,y;
fin>>n>>m;
for(;m;--m)
{fin>>x>>y;
L[x].push_back(y);
L[y].push_back(x);
}
fin.close();
}
void df(long k,long p)
{IT it;
v[k]=p;
for(it=L[k].begin();it!=L[k].end();++it)
if(v[*it]==0)
df(*it,p);
}
void afis()
{out;
IT it;
long i,p=0;
for(i=1;i<=n;++i)
if(v[i]==0)
{p++;
df(i,p);
}
fout<<p;
fout.close();
}
int main()
{cit();
afis();
return 0;
}