정답 코드
#include <iostream>
#include <algorithm>
using namespace std;
int n, k;
int com[101][101], visited[101];
int ans;
void dfs(int curNode) {
visited[curNode]=1;
for(int i=0; i<n; i++) {
if(com[curNode][i]==1 && !visited[i]) {
ans++;
dfs(i);
}
}
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
cin>>n>>k;
for(int i=0; i<k; i++) {
int v1, v2;
cin>>v1>>v2;
com[v1-1][v2-1]=1;
com[v2-1][v1-1]=1;
}
dfs(0);
cout<<ans<<'\n';
return 0;
}