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 | |
피드백
없음