Pagini recente » Cod sursa (job #732265) | Borderou de evaluare (job #1110521) | Cod sursa (job #2530596) | Cod sursa (job #189486) | 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;
}