-
해당 문제는 BFS를 이용해 해결하였으며, DFS는 갈림길에서 하나의 길로 들어서서 막다른 길이 나올 때까지 깊게 탐색을 하는 것을 볼 수 있고, BFS는 갈림길에 연결되어 있는 모든 길을 한 번씩 탐색한 뒤 다시 연결되어 있는 모든 길을 넓게 탐색하는 것을 볼 수 있다.
https://www.acmicpc.net/problem/2606
2606번: 바이러스
첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍의 수가 주어
www.acmicpc.net
https://github.com/JUNGSOONIL/JAVA/blob/main/BAEKJOON%202606
GitHub - JUNGSOONIL/JAVA: JAVA 소스 코드
JAVA 소스 코드. Contribute to JUNGSOONIL/JAVA development by creating an account on GitHub.
github.com
해당 문제는 그래프 문제인데, 먼저 정점과 간선이 주어지고 1번 정점부터 시작해 연결되는 모든 정점의 개수를 출력해 주면 되는 문제다.
처음에 정점 수와 간선수를 입력받고 간선을 입력받아 인접 행렬을 만들어준다.
이후 반복문을 통해 해당 간선을 통해 정점을 방문했는지를 판단하고 방문하지 않았으면 카운트해주고 큐에 삽입해 준 뒤 이후 큐가 비는만큼 재귀 함수를 돌려주면 된다.
728x90'알고리즘 > Baekjoon' 카테고리의 다른 글
Baekjoon 15988 1, 2, 3 더하기 3 JAVA (0) 2021.11.05 Baekjoon 1012 유기농 배추 JAVA (0) 2021.11.05 Baekjoon 11047 동전 0 JAVA (0) 2021.11.05 Baekjoon 9465 스티커 JAVA (0) 2021.11.05 Baekjoon 1912 연속합 JAVA (0) 2021.11.05 댓글