Pagini recente » Cod sursa (job #3272949) | Cod sursa (job #1800512) | Cod sursa (job #438518) | Cod sursa (job #302516) | Cod sursa (job #2529976)
#include <iostream>
#include <fstream>
#include <vector>
using namespace std;
ifstream fin("dfs.in");
ofstream fout("dfs.out");
int N,M;
vector <int> A[100005];
bool VIZ[100005];
void df(int N)
{
if (VIZ[N]==0)
{
VIZ[N]=1;
vector<int> :: iterator it;
for (it=A[N].begin();it!=A[N].end();++it)
{
int v=(*it);
if (VIZ[v]==0)
{
df(v);
}
}
}
}
int main()
{
fin >> N >> M;
int i,a,b;
for (i=1;i<=M;++i)
{
fin >> a >> b;
A[a].push_back(b);
A[b].push_back(a);
}
int rez=0;
for (i=1;i<=N;++i)
{
if (VIZ[i]==0)
{
df(i);
++rez;
}
}
fout << rez;
return 0;
}