Pagini recente » Cod sursa (job #1970044) | Cod sursa (job #71617) | Cod sursa (job #1997551) | Cod sursa (job #2003843) | Cod sursa (job #1013856)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream f ("dfs.in");
ofstream g ("dfs.out");
int n, m, vizitat[100001];
vector <int> graf[100001];
void citeste ()
{
f>>n>>m;
int x, y;
for (int i=1; i<=m; i++)
{
f>>x>>y;
graf[x].push_back (y);
graf[y].push_back (x);
}
}
void dfs (int nod)
{
vizitat[nod]=1;
int l=graf[nod].size ();
// cout<<l;
for (int i=0; i<l; i++)
{
if (!vizitat[graf[nod][i]]) dfs (graf[nod][i]);
}
}
void rezolva ()
{
int nr=0;
for (int i=1; i<=n; i++)
if (!vizitat[i])
{
dfs(i); nr++;
}
g<<nr<<'\n';
}
int main ()
{
citeste ();
rezolva ();
return 0;
}