Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Tags
more
Archives
Today
Total
관리 메뉴

NY's 개발일기

[백준] 바이러스(2606번) - C++ 본문

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(깊이 우선 탐색) 알고리즘을 이용하여 해결할 수 있었습니다.