Pagini recente » Cod sursa (job #2926588) | Cod sursa (job #2841323) | Cod sursa (job #1339909) | Cod sursa (job #1641112) | Cod sursa (job #2324675)
#include <fstream>
#include <queue>
#include <vector>
#define nmax 100005
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int n,m;
bool viz[nmax];
vector <int> V[nmax];
void Citire()
{int i,x,y;
fin>>n>>m;
for(i=1;i<=m;i++)
{fin>>x>>y;
V[x].push_back(y);
V[y].push_back(x);
}
}
void DFS(int x)
{int i;
vector <int>::iterator it;
viz[x]=1;
for(it=V[x].begin();it!=V[x].end();it++)
if(!viz[*it]) DFS(*it);
}
int main()
{int i,nr=0;
vector <int>::iterator it;
Citire();
for(i=1;i<=n;i++)
if(viz[i]==0)
{nr++;
DFS(i);
}
fout<<nr;
return 0;
}