강의로 돌아가기
YEON

유니온 파인드로 풀 때 1, 9, 13-18, 20 등에서 실패가 뜬다면

unmerge 로직만 붙들고 있다가 시간을 너무 많이 소모했네요..
제 경우에는 unmerge가 아니라 merge로직이 문제였습니다.
노드 A, 노드 B, 노드 C가 있을 때
B가 C의 부모인 상태에서 A와 C를 병합하려고 하면
B와 C의 부모를 모두 업데이트해 주어야 합니다. C의 부모만 A로 수정하면 문제가 발생합니다.

아래는 제가 찾은 반례입니다.
["UPDATE 1 1 A", "UPDATE 2 2 B", "UPDATE 3 3 C", "UPDATE 4 4 D", "MERGE 1 1 2 2", "MERGE 3 3 4 4", "MERGE 1 1 4 4", "UNMERGE 3 3", "PRINT 1 1", "PRINT 2 2", "PRINT 3 3", "PRINT 4 4"]
답은 ["EMPTY", "EMPTY", "A", "EMPTY"]가 나와야 합니다. ["A", "A", "EMPTY", "A"]나 ["EMPTY", "EMPTY", "A", "A"] 같은 이상한 답이 나오지 않는지 확인해 주세요.

  • yuna1212

    도움됐어요! 감사합니다

    yuna1212―2023.02.16 15:25
  • sooyoung.lee@wesang.com

    반례 감사합니다

    sooyoung.lee@wesang.com―2023.03.19 18:04
  • hs

    반례 감사합니다!

    hs―2023.05.16 16:17
  • skiende74

    감사합니다

    skiende74―2023.08.10 13:13
  • 김찬혁

    감사합니다!!

    김찬혁―2023.11.11 10:53
0 개의 답변
답변 쓰기
이 입력폼은 마크다운 문법을 지원합니다. 마크다운 가이드 를 참고하세요.