Pagini recente » Cod sursa (job #519675) | Cod sursa (job #2470451) | Cod sursa (job #2887718) | Cod sursa (job #2089080) | Cod sursa (job #2167644)
#include <iostream>
#include<fstream>
#include<vector>
#define nn 100005
using namespace std;
ifstream f("dfs.in");
ofstream g("dfs.out");
vector<int>m[nn];
int n,m1,x1,x2,i,k,viz[nn];
void Df(int x)
{
viz[x]=1;
vector<int>::iterator it;
for(it=m[x].begin();it!=m[x].end();it++)
if(viz[*it]==0)Df(*it);
}
int main()
{f>>n>>m1;
for(i=1;i<=m1;i++)
{
f>>x1>>x2;
m[x1].push_back(x2);
m[x2].push_back(x1);
}
for(i=1;i<=n;i++)
if(viz[i]==0){
Df(i);
k++;
}
g<<k;
}