Problem : ABCDE
유형 : 그래프, DFS
해결 전략
문제 자체를 이해하는데 꽤나 애를 먹었다.
문제에서 요구하는것은 N
명에 따른
- A는 B와 친구다.
- B는 C와 친구다.
- C는 D와 친구다.
- D는 E와 친구다.
조건 이 만족하는지를 찾는것이다.
친구쌍이 4개이상이 나오는가?
라고 해석이 가능하다.
그렇다면 친구 쌍4개를 어떻게 찾는가?
친구가 없는 사람과 짝을 짓는 과정이, 연속적으로 4회 이상이 가능한지를 확인한다.
A
가B
와 짝을 맺는다.B
는C
와 짝을 맺는다.B
는A
와 짝을 맺으려고 시도해볼 수 있다.- 하지만
A
는 이미 짝이 있으므로 넘어간다.
주의할 점
- 처음에 찾으러 들어갈때, 자기 자신에 표시를 해주고 들어가야한다.
풀이
인접 리스트를 세팅한다.
- 양방향 그래프로 연결시킨다.
DFS를 진행한다.
- 친구가 없던놈이면 짝을 짓는다.
- 짝이된 사람은 다른 짝을 찾으러 다시
DFS
를 진행한다.
코드
1 |
|
피드백
없음