Study/Algorithm
[백준] 바이러스(2606번) - C++
developer_ny
2021. 4. 20. 02:51
문제
입력
출력
소스 코드
#include <iostream>
#include <vector>
using namespace std;
vector<int> v[102];
int visited[102];
int total;
void dfs(int cur) {
visited[cur] = 1;
total += 1;
for(int i=0;i<v[cur].size();i++) {
if(visited[v[cur][i]] == 0) {
dfs(v[cur][i]);
}
}
}
int main() {
int n, m; cin >> n >> m;
for(int i=0;i<m;i++) {
int a, b; cin >> a >> b;
v[a].push_back(b);
v[b].push_back(a);
}
dfs(1);
cout << total-1;
return 0;
}
해당 문제는 DFS(깊이 우선 탐색) 알고리즘을 이용하여 해결할 수 있었습니다.