NY's 개발일기
[백준] 바이러스(2606번) - C++ 본문
문제
입력
출력
소스 코드
#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(깊이 우선 탐색) 알고리즘을 이용하여 해결할 수 있었습니다.
'Study > Algorithm' 카테고리의 다른 글
[프로그래머스] 다리를 지나는 트럭 - JavaScript (0) | 2022.01.11 |
---|---|
[백준] 촌수계산(2644번) - C++ (0) | 2021.04.20 |
[백준] 스택(10828번) - C++ (0) | 2021.04.17 |
[백준] 큐(10845번) - C++ (0) | 2021.04.17 |
[프로그래머스] 3진법 뒤집기 - Python (0) | 2020.12.28 |