minimimi
[백준] 2606 바이러스 본문
반응형
문제출처] https://www.acmicpc.net/problem/2606
문제요약
1번 노드와 연결된 노드의 수 출력
풀이
그래프 탐색 알고리즘 (BFS 혹은 DFS) 을 이용하여 1번 노드와 연결된 노드들을 탐색하면 된다.
백준 1260번 DFS와 BFS 문제에서 구현한 알고리즘을 이용하면 문제를 해결할 수 있다.
2019/09/02 - [프로그래밍 공부/알고리즘] - [백준] 1260 DFS와 BFS
소스코드는 C/C++로 작성되었습니다.
#include <queue>
#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
int infected_virus[101];
vector<int> network[101];
int search() {
queue<int> q;
int count = -1;
infected_virus[1] = true;
q.push(1);
while (!q.empty()) {
int x = q.front();
q.pop();
count++;
for (int i = 0; i < network[x].size(); i++) {
int y = network[x][i];
if (!infected_virus[y]) {
q.push(y);
infected_virus[y] = true;
}
}
}
return count;
}
int main() {
int computer_num, net_pair;
cin >> computer_num >> net_pair;
for (int i = 0; i < net_pair; i++) {
int v1, v2;
cin >> v1 >> v2;
network[v1].push_back(v2);
network[v2].push_back(v1);
}
cout << search();
}
반응형
'프로그래밍 공부 > 알고리즘' 카테고리의 다른 글
[백준] 1436 영화감독 숌 (0) | 2021.09.08 |
---|---|
[백준] 1012 유기농 배추 (0) | 2019.09.08 |
[백준] 1260 DFS와 BFS (0) | 2019.09.02 |
[알고리즘] 알고리즘 공부하기 좋은 사이트 추천 (0) | 2019.08.27 |
[CodeUp] 4891 : 행복 (0) | 2019.08.07 |