Pagini recente » Cod sursa (job #2663645) | Cod sursa (job #1530087) | Cod sursa (job #165086) | Cod sursa (job #174770) | Cod sursa (job #732271)
Cod sursa(job #732271)
#include<iostream>
#include<fstream>
#include<vector>
using namespace std;
#define maxn 100010
ifstream in("dfs.in");
ofstream out("dfs.out");
vector <int> graf[maxn];
char f[maxn];
void dfs(int x)
{
int i;
f[x]=1;
for(vector<int>::iterator it = graf[x].begin();it!=graf[x].end();it++)
if(!f[*it])
dfs(*it);
}
int main()
{
int i,n,m,nr=0,nod1,nod2;
in>>n>>m;
for(i=1;i<=m;i++){
in>>nod1>>nod2;
graf[nod1].push_back(nod2);
graf[nod2].push_back(nod1);
}
for(i=1;i<=n;i++)
if(!f[i])
++nr,dfs(i);
out<<nr;
return 0;
}