Pagini recente » Istoria paginii runda/dinamica_v/clasament | Cod sursa (job #827929) | Cod sursa (job #1644402) | Cod sursa (job #1506090) | Cod sursa (job #2553114)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
ifstream fin ("dfs.in");
ofstream fout ("dfs.out");
vector<int>v[100010];
int n, m, nr=0, viz[100010];
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 vf)
{
int i;
viz[vf]=1;
for (i=0; i<v[vf].size(); i++)
{
if (viz[v[vf][i]]==0)
dfs(v[vf][i]);
}
}
int main ()
{
citire();
for (int i=1; i<=n; i++)
{
if (viz[i]==0)
{
dfs(i);
nr++;
}
}
fout<<nr;
fin.close();
fout.close();
}