Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <fstream>
- int MAX_INT = 0;
- int COUNT = 0;
- std::vector<int>visited;
- std::vector<std::vector<int>>matrix;
- void dfs(int i)
- {
- visited[i] = 1;
- for (int j = 0; j < matrix[i].size(); j++)
- {
- if (!visited[matrix[i][j]])
- {
- visited[matrix[i][j]] = 1;
- COUNT++;
- dfs(matrix[i][j]);
- }
- }
- }
- int main()
- {
- //std::fstream finp;
- //finp.open("input.txt");
- int v = 0, e = 0, x = 0, y = 0, count = 0;
- std::cin >> v;
- std::cin >> e;
- visited.resize(v);
- matrix.resize(v);
- for (int i = 0; i < e; i++)
- {
- std::cin >> x >> y;
- matrix[x].push_back(y);
- matrix[y].push_back(x);
- }
- for (int i = 0; i < v; i++)
- {
- if (!visited[i])
- {
- count++;
- COUNT = 1;
- dfs(i);
- if (COUNT > MAX_INT)
- MAX_INT = COUNT;
- }
- }
- std::cout << count << ' ' << MAX_INT << '\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment