Pagini recente » Cod sursa (job #1808096) | Cod sursa (job #2160199) | Cod sursa (job #2528467) | Cod sursa (job #3264249) | Cod sursa (job #2797497)
#include <bits/stdc++.h>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
bool viz[100005];
vector <int>l[100005];
class Graf
{
protected:
int n,m,i,x,y;
public:
Graf(){};
Graf(int _n, int _m)
{
n=_n;
m=_m;
for(int i =0; i<m; i++)
{
in>>x>>y;
l[x].push_back(y);
l[y].push_back(x);
}
}
virtual ~Graf()
{
}
void dfs(int s)
{
viz[s]=1;
for(auto el:l[s])
{
if(viz[el]==0)
{
dfs(el);
}
}
}
};
int main()
{
int i,n,m;
in>>n>>m;
Graf grf(n,m);
int c_con=0;
for(int i=1; i<=n; i++)
{
if(viz[i]==0)
{
grf.dfs(i);
c_con++;
}
}
out<<c_con;
return 0;
}