Pagini recente » Cod sursa (job #371787) | Cod sursa (job #813555) | Cod sursa (job #1747593) | Cod sursa (job #2108027) | Cod sursa (job #803444)
Cod sursa(job #803444)
#include <fstream>
#include <vector>
//#include <iostream>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
const int N=100001;
vector<int> a[N];
bool conf[N];
int n;
void citire()
{
int m, x, y;
in>>n>>m;
for(int i=1;i<=m;i++)
{
in>>x>>y;
a[x].push_back(y);
a[y].push_back(x);
}
}
void nr_comp(size_t x)
{
conf[x] = 1;;
size_t y;
for(size_t i=0;i<a[x].size();i++)
{
y=a[x][i];
if(!conf[y])
{
//conf[y]=1;
nr_comp(y);
}
}
}
/*
void scrie()
{
for(int i=1;i<=n;i++)
cout<<conf[i];
cout<<"\n";
}
*/
int main()
{
int cont_f=0;
citire();
for(int i=1;i<=n;i++)
{
if(!conf[i])
{
//conf[i]=1;
nr_comp(i);
cont_f++;
//scrie();
}
}
out<<cont_f;
in.close();
out.close();
return 0;
}