그래프 문제.
그래프 이론을 알고있다면 쉽게 풀 수 있는 문제였다.
문제풀이
그래프 구현을 위해 vector와 bfs구현을 위해 queue STL을 사용했다.
정점의 개수와 간선의 개수를 받는 변수를 만들었다.
adj_list 벡터를 사용해서 그래프를 구현했고 visit 배열로 방문한 정점인지 체크했다.
result 변수로 결과값을 출력했다.
시작점은 어차피 1부터 시작하므로 따로 매개변수로 받아서 시작하진 않았다.
그리고 1번을 큐에 넣고 방문했다고 기록하고
반복문을 큐가 비어있지 않다면 계속 반복하게 했다.
현재 방문중인 정점과 연결된 정점들 중 방문하지 않은(혹은 큐에 들어가있지 않은) 정점들은 큐에 삽입하고 방문했다는
기록을 남긴다. 그리고 결과값에 1을 더해준다.
그래프 이론은 실버 정도의 난이도라면 쉬운 문제에 속하는 것 같다.
정답률도 높은 편이다.
코드는 위에서 확인 가능하다.
'알고리즘 > Baekjoon' 카테고리의 다른 글
[C++] 백준 1932번 정수 삼각형 (0) | 2021.07.28 |
---|---|
[C++] 백준 1697번 숨바꼭질 (0) | 2021.07.28 |
[C++] 백준 2579번 계단 오르기 (0) | 2021.07.28 |
[C++] 백준 2667번 단지번호붙이기 (0) | 2021.07.28 |
[C++] 백준 11399번 ATM (0) | 2021.07.28 |