오답으로 뜬 제출 번호 376297.. 스택 오버플로우일 수 도 있나요?

  • skan1543
    skan1543

    Family tree를 풀고 제출해본것인데요!!

    오답으로 뜨더라구요.

    그래서 제가, N을 10만으로 넣어보니..

    makepath() 재귀함수를 호출하는 과정에서 스택 오버플로우가 나더라구요..

    혹시, 솔루션이 잘못된 건가 싶어서 책을 확인해 보니, 여기두 똑같은 형식의 재귀호출을 해주고 있네요..

    제가 데이터를 입력했을땐 스택 오버플로우가 나더라도,

    서버의 채점 환경은 제 실행환경과 다를테니 스택 오버플로우가 안뜰 수도 있는 건가요? 아니면, 실제로 뜨고 있는거구, 오답이라 출력되는것인가요?_?

    감사합니다(_ _)


    8년 전
3개의 댓글이 있습니다.
  • hyunhwan
    hyunhwan
    1. 우선 직접 만든 입력이 입력 조건에 벗어나지 않는지 확인해보시길 바랍니다. 생각보다 입력 조건을 벗어나서 오류가 발생하는 경우도 종종 발생합니다.
    2. 이야기 하신대로 충분히 가능한 일입니다. 참고로 stack에 할당된 메모리의 양은 머신의 상태와 파라메터에 따라 달라질 수 있으며, 또한 사용하는 컴파일러에 따라서 결과가 상이할 수 있습니다. 그리고 확실치는 않지만 언급하신 실제로 stack-overflow가 발생하되, 오답이 발생하는 경우도 충분히 가능합니다. 다른 온라인 채점 시스템의 경우에 종종 발생하는 상황인데, 이 부분에 대해서는 제가 경험이 없기 때문에 다른 분께서 설명을 해주실 수 있을 것이라 생각합니다.
    3. 코드를 정확하게 읽지는 않았지만, skewed 된 입력 구조 (0번의 자식은 1번, 1번의 자식은 2번, 2번의 자식은 3번 ...)에 대해서 처리가 잘 되는지 확인 해보시는 것이 좋을 것 같습니다.

    8년 전 link
  • skan1543
    skan1543

    답변 감사합니다!! (_ _)


    8년 전 link
  • skan1543
    skan1543

    그런데 skewed된 입력구조에 대해서 처리가 안되긴 하는데.. 책의 코드도 똑같이 처리를 해주고 있네요.. ㅠㅠ


    8년 전 link
  • 정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면 온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야 합니다. 현재 문제를 푸셨습니다.