문제 출처
1. 문제설명
2. 알고리즘 설계
- 이분 그래프는 well-known 알고리즘이다.
- 정점을 어떤 색으로 칠한다.
- 본인 코드에서는 칠해져 있지 않은 경우 0, 그렇지 않은 경우 -1 또는 1이다.
- 프로세스
- 처음 시작점(인접 행렬에서는 1번째)을 1로 칠한다.
- 연결된 정점의 색을 칠한다.
- 만약 이미 색이 칠해져 있는데, 시작점과 연결된 점이 같은 색이면 절대 이분 그래프가 될 수 없다.
- 큐에 삽입한다.
- 큐에서 꺼낸 정점은 (현재 색 * -1)을 취해 칠하는데, 위와 똑같은 검사를 진행한다.
- 마지막 까지 될 수 없는 조건에 걸리지 않는다면 이분 그래프이다.
3. 전체 코드