Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- using namespace std;
- int order[1000000];
- bool odwiedzony1[1000000];
- int post = 1;
- int silna=0;
- vector<int> wek[100000];
- vector<int> odwrocony[1000000];
- void dfs(int v){
- odwiedzony1[v] = true;
- for(int i = 0; i < wek[v].size(); i++){
- if(!odwiedzony1[wek[v][i]]){
- dfs(wek[v][i]);
- }
- }
- }
- int n,m,a,b;
- int main(){
- cin >> n >> m;
- for(int j = 0; j < m; j++){
- cin >> a >> b;
- wek[a].push_back(b);
- wek[b].push_back(a);
- odwrocony[b].push_back(a);
- odwrocony[a].push_back(b);
- }
- for(int i = 1; i <= n ; i++){
- if(odwiedzony1[i]==false){
- dfs(i);
- silna++;
- }
- }
- cout << silna;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement