Pagini recente » Cod sursa (job #17384) | Cod sursa (job #3150038) | Cod sursa (job #1530788) | Cod sursa (job #2399341) | Cod sursa (job #2798462)
#include <cstdio>
#include <vector>
using namespace std;
vector <vector <int> > muchii;
vector <bool> viz;
int n,m;
void citire_graf()
{
int i,a,b;
scanf("%d%d",&n,&m);
muchii.resize(n);
viz.resize(n);
for(i=1;i<=m;i++)
{
scanf("%d%d",&a,&b);
a--;
b--;
muchii[a].push_back(b);
muchii[b].push_back(a);
}
}
void parcurg_dfs(int nod)
{
int i,next;
viz[nod]=1;
for(i=0;i<muchii[nod].size();i++)
{
next=muchii[nod][i];
if(!viz[next])
parcurg_dfs(next);
}
}
int main()
{
freopen("dfs.in","r",stdin);
freopen("dfs.out","w",stdout);
int comp_conexe=0,i;
citire_graf();
for(i=0;i<muchii.size();i++)
{
if(!viz[i])
{
comp_conexe++;
parcurg_dfs(i);
}
}
printf("%d",comp_conexe);
return 0;
}