Pagini recente » Cod sursa (job #1392939) | Cod sursa (job #1612347) | Cod sursa (job #472876) | Cod sursa (job #1812155) | Cod sursa (job #1324669)
#include<fstream>
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
struct lista{int nod;
lista *leg;} *G[100001];
int U[100001],nr,n,m,i;
void adaug(int i,int j)
{
lista *p;
p=new lista;
p->nod=j;
p->leg=G[i];
G[i]=p;
}
void citire()
{
int i,j;
f>>n>>m;
while(m--)
{
f>>i>>j;
adaug(i,j);
adaug(j,i);
}
}
void DFS(int s)
{
lista *p;
U[s]=1;
for(p=G[s];p;p=p->leg)
if(!U[p->nod])
DFS(p->nod);
}
int main()
{
citire();
for(i=1;i<=n;++i)
if(!U[i])
{
nr++;
DFS(i);
}
g<<nr<<'\n';
return 0;
}