1707번 - 이분 그래프
이분그래프를 dfs로 구현을 해봤는데요
먼저 루트노드 1을 기준으로 인접리스트로 입력을 받았습니다.
예제에 나와있는데로 입력받으면
1 2
2 3
3 4
4 2 이렇게 단방향으로만 인접리스트 벡터에 넣어주고
dfs를 돌리면
1인 루트노드는 색깔 1을 기준으로 자신과 연결된 정점을 3-1 의 색깔로 칠하면서 재귀하게 하였습니다.
그리고 최종적으로 모든 노드를 방문했다고 가정했을때, 각 행 과 연결된 열 노드들의 색깔이 같은것이 있다면
이것은 이분그래프가 아니고, 없다면 이분그래프로 판별하게 하였습니다.
근데 위에서 처럼 단방향으로 제출을했을때는 틀렸습니다가 나오고
양방향으로 넣어줬을때 v[x].push_back(y); v[y].push_back(x) 는 맞았습니다가 나오는 이유가 무엇일까요??
댓글을 작성하려면 로그인해야 합니다.
jjh4698 8년 전
이분그래프를 dfs로 구현을 해봤는데요
먼저 루트노드 1을 기준으로 인접리스트로 입력을 받았습니다.
예제에 나와있는데로 입력받으면
1 2
2 3
3 4
4 2 이렇게 단방향으로만 인접리스트 벡터에 넣어주고
dfs를 돌리면
1인 루트노드는 색깔 1을 기준으로 자신과 연결된 정점을 3-1 의 색깔로 칠하면서 재귀하게 하였습니다.
그리고 최종적으로 모든 노드를 방문했다고 가정했을때, 각 행 과 연결된 열 노드들의 색깔이 같은것이 있다면
이것은 이분그래프가 아니고, 없다면 이분그래프로 판별하게 하였습니다.
근데 위에서 처럼 단방향으로 제출을했을때는 틀렸습니다가 나오고
양방향으로 넣어줬을때 v[x].push_back(y); v[y].push_back(x) 는 맞았습니다가 나오는 이유가 무엇일까요??