Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #define pb push_back
- #include <vector>
- #include <string>
- #include <sstream>
- #include <algorithm>
- #include <iostream>
- using namespace std;
- bool visited[100005];
- vector< vector<int> > g;
- int dfs(int start) {
- if (!visited[start]) {
- visited[start] = 1;
- for (int i=0; i < g[start].size(); i++) {
- dfs(g[start][i]);
- }
- }
- return 0;
- }
- int main() {
- int x;
- cin >> x;
- for (int i=0; i < x; i++) {
- memset(visited, 0, sizeof(visited));
- int a, b;
- cin >> a >> b;
- for (int j=0; j < b; j++) {
- int u, v;
- cin >> u >> v;
- g[u].pb(v);
- g[v].pb(u);
- }
- int comp = 0;
- for (int k=0; k < a; k++) {
- if (!visited[k]) {
- comp += 1;
- dfs(k);
- }
- }
- cout << comp << endl;
- }
- system("pause");
- }
Advertisement
Add Comment
Please, Sign In to add comment