Pagini recente » Cod sursa (job #805142) | Cod sursa (job #573999) | Cod sursa (job #2326952) | Cod sursa (job #2935983) | Cod sursa (job #2675630)
#include <bits/stdc++.h>
using namespace std;
ifstream in("dfs.in");
ofstream out("dfs.out");
int n,m,nr;
int viz[100005];
vector <int> L[100005];
void cit()
{
in>>n>>m;
for(;m--;)
{
int i,j;
in>>i>>j;
L[i].push_back(j);
L[j].push_back(i);
}
}
///Parcurgere normala
/*void test()
{
for(int i=1;i<=n;i++)
if(L[i].size())
{
out<<"Lista vecinilor lui "<<i<<" : ";
for(int j=0;j<L[i].size();j++)
out<<L[i][j]<<' ';
out<<'\n';
}
}*/
///Parcurgere Iterator
/*void test()
{
for(int i=1;i<=n;i++)
if(L[i].size())
{
out<<"Lista vecinilor lui "<<i<<" : ";
for(vector <int> :: iterator it=L[i].begin();it!=L[i].end();it++)
out<<*it<<' ';
out<<'\n';
}
}*/
void dfs(int i)
{
viz[i]=1;
for(vector <int> :: iterator j=L[i].begin();j!=L[i].end();j++)
if(!viz[*j])
dfs(*j);
}
void prg()
{
for(int i=1;i<=n;i++)
{
if(!viz[i])
{
nr++;
dfs(i);
}
}
}
void afis()
{
out<<nr;
}
int main()
{
cit();
prg();
afis();
return 0;
}