1707번 - 이분 그래프
안녕하세요
BFS로 문제를 풀고 있습니다.
하나의 노드가 속할 수 있는 color로는 1과 -1로 하였고 , 각 노드의 색을 확인하기 위한 color table은 0으로 초기화하는 것으로 하였습니다.
그래프는 인접리스트로 구현하였습니다.
1. 모든 노드를 전체탐색하며, 아직 color가 부여되지 않은 노드부터 BFS탐색을 시작합니다.
2. BFS를 진행하며 , 큐에서 꺼낸 현재노드의 인접노드에서는 다음을 확인합니다.
2.1 현재노드와 같은 색을 이미 가진 경우 --> return false
2.2.현재노드와 다른 색을 이미 가진 경우 --> continue
2.3 아직 아무런 색이 부여되지 않은 경우 --> 큐에 추가 && 현재 노드색의 반대 색을 부여
3. BFS탐색결과 false가 리턴이 되면, 전체탐색도 멈추고, 해당 케이스는 NO를 출력하게 됩니다.
3-1. 모든 노드에 대해, BFS탐색결과에서 false가 한 번도 리턴된 적 없다면 flag는 true이기 때문에, 해당 케이스는 YES를 출력하게 됩니다.
ㅠㅠ 제 눈으로는 더이상 버그 탐색을 못하는 것 같습니다.. 도움이 필요합니다
53, 54 번째 줄에서 v를 i로 바꿔보세요
댓글을 작성하려면 로그인해야 합니다.
konduck196 2년 전
안녕하세요
BFS로 문제를 풀고 있습니다.
하나의 노드가 속할 수 있는 color로는 1과 -1로 하였고 , 각 노드의 색을 확인하기 위한 color table은 0으로 초기화하는 것으로 하였습니다.
그래프는 인접리스트로 구현하였습니다.
1. 모든 노드를 전체탐색하며, 아직 color가 부여되지 않은 노드부터 BFS탐색을 시작합니다.
2. BFS를 진행하며 , 큐에서 꺼낸 현재노드의 인접노드에서는 다음을 확인합니다.
2.1 현재노드와 같은 색을 이미 가진 경우 --> return false
2.2.현재노드와 다른 색을 이미 가진 경우 --> continue
2.3 아직 아무런 색이 부여되지 않은 경우 --> 큐에 추가 && 현재 노드색의 반대 색을 부여
3. BFS탐색결과 false가 리턴이 되면, 전체탐색도 멈추고, 해당 케이스는 NO를 출력하게 됩니다.
3-1. 모든 노드에 대해, BFS탐색결과에서 false가 한 번도 리턴된 적 없다면 flag는 true이기 때문에, 해당 케이스는 YES를 출력하게 됩니다.
ㅠㅠ 제 눈으로는 더이상 버그 탐색을 못하는 것 같습니다.. 도움이 필요합니다