Pagini recente » Cod sursa (job #2966666) | Cod sursa (job #415112) | Cod sursa (job #1770930) | Cod sursa (job #985714) | Cod sursa (job #2415754)
#include <vector>
//#include <iostream>
#include <algorithm>
#include <queue>
#include <map>
#include <set>
#include <unordered_map>
#include <time.h>
#include <iomanip>
#include <deque>
#include <math.h>
#include <cmath>
#include <assert.h>
#include <stack>
#include <bitset>
#include <random>
#include <chrono>
#include <fstream>
using namespace std;
ifstream cin ("bfs.in");
ofstream cout ("bfs.out");
vector <int> v[100100];
bool vizitat[100100];
const int K=100100;
void dfs(int s){
vizitat[s]=true;
for(int i=0;i<v[s].size();i++)
if(vizitat[v[s][i]]==false)
dfs(v[s][i]);
}
void init(){
for(int i=0;i<K;i++)
vizitat[i]=false;}
int main(){
int noduri,muchii,x,y,cont;
for(int i=0;i<muchii;i++){
cin>>x>>y;
v[x].push_back(y);
v[y].push_back(x);}
init();
for(int i=1;i<=noduri;i++){
if(vizitat[i]==false){
dfs(i);
cont++;
}
}
cout<<cont;
return 0;}