diff --git a/problem/P2097/P2097.cpp b/problem/P2097/P2097.cpp new file mode 100644 index 00000000..1eafd04a --- /dev/null +++ b/problem/P2097/P2097.cpp @@ -0,0 +1,34 @@ +#include + +using namespace std; + +vector l[100010]; +int n, m, f, s, ans, pd[100010]; + +void dfs(int x) { + for (int y = 0; y < l[x].size(); y++) { + if (!pd[l[x][y]]) { + pd[l[x][y]] = 1; + dfs(l[x][y]); + } + } +} + +int main() { + int p, q; + cin >> n >> m; + for (int i = 1; i <= m; i++) { + cin >> p >> q; + l[p].push_back(q); + l[q].push_back(p); + } + for (int i = 1; i <= n; i++) { + if (!pd[i]) { + ans++; + pd[i] = 1; + dfs(i); + } + } + cout << ans << endl; + return 0; +}