Pagini recente » Cod sursa (job #969292) | Cod sursa (job #2551072) | Cod sursa (job #3041847) | Cod sursa (job #3172924) | Cod sursa (job #1727951)
#include <fstream>
#include <vector>
#include <iterator>
#define NMAX 100004
using namespace std;
int freq[NMAX]={0};
void DFS(vector < vector < int > > a,int n,int current){
freq[current] = 1;
for(vector<int>::iterator it=a[current].begin();it!=a[current].end();it++)
if(!freq[*it])
DFS(a,n,*it);
}
int main()
{
ifstream f("dfs.in");
ofstream g("dfs.out");
int n,m,m1,m2;
vector<vector<int> > a;
f >> n >> m;
vector<int> rez;
for(int i=0;i<n;i++)
a.push_back(rez);
for(int i=0;i<m;i++){
f >> m1 >> m2;
a[m1].push_back(m2);
a[m2].push_back(m1);
}
int c=0;
for(int i=1;i<=n;i++){
if(!freq[i]) {
c++;
DFS(a,n,i);
}
}
g << c;
return 0;
}