Pagini recente » Cod sursa (job #1277277) | Cod sursa (job #2314040) | Istoria paginii utilizator/rarespoinaru | Istoria paginii runda/confruntarea_shaolin_bdc/clasament | Cod sursa (job #1791390)
#include <fstream>
#include <vector>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
int n, m, viz[100001];
vector <int> L[100001];
void citire()
{
fin >> n >> m;
int x, y;
while(m--)
{
fin >> x >> y;
L[x].push_back(y);
L[y].push_back(x);
}
}
void DFS(int nod, int nrcomp)
{
viz[nod]=nrcomp;
for(int i=0;i<L[nod].size();i++)
{
int v=L[nod][i];
if(viz[v]==0)
{
viz[v]=nrcomp;
DFS(v, nrcomp);
}
}
}
int main()
{
citire();
int nrconex=0;
for(int i=1;i<=n;i++)
{
if(viz[i]==0)
{
nrconex++;
DFS(i, nrconex);
}
}
fout << nrconex;
return 0;
}