Pagini recente » Cod sursa (job #2072251) | Cod sursa (job #816381) | Cod sursa (job #2153542) | Cod sursa (job #2847169) | Cod sursa (job #1339720)
#include <iostream>
#include <fstream>
using namespace std;
int n,m;
struct Nod
{
Nod * leg;
int info;
};
Nod *L[100005];
int viz[100005];
void Adauga(int x, int y)
{
Nod *q=new Nod;
q->info=y;
q->leg=L[x];
L[x]=q;
}
void Citire()
{
int x,y;
ifstream fin("dfs.in");
fin>>n>>m;
for(int i=0;i<n;i++)
{
fin>>x>>y;
Adauga(x,y);
Adauga(y,x);
}
fin.close();
}
void DFS(int k)
{
viz[k]=1;
for(Nod * p=L[k];p!=NULL;p=p->leg)
{
if(viz[p->info]==0)
DFS(p->info);
}
}
int main()
{
Citire();
int nr=0;
for(int i=0;i<n;i++)
if(viz[i]==0)
{
DFS(i);
nr++;
}
ofstream fout("dfs.out");
fout<<nr<<"\n";
fout.close();
return 0;
}