thddudgns79   4년 전

재귀 이용해서 밤이면 현재 살아남은 시민을 한 명씩 다 죽여보고(경우의 수) 낮이면 글에서 나온 그대로 유죄점수 가장 높은 사람을 죽이는 방식으로 코드를 잤습니다.

근데 문제에 나온 테스트케이스를 돌리면 답이 2가 나와야하는데 0이 나와버립니다.ㅠㅠ

어디가 잘못된건지 계속 봐도 모르겠습니다. 도와주시면 감사하겠습니다

rlaeogh89   4년 전

전체적인 흐름은 맞는 것 같은데, 몇가지 오류가 있는 것 같습니다.

  1. 입력 받은 n은 참가자 수 입니다. n + 1 하면 참가자의 수를 증가시키는 것입니다.
  2. 밤에 시민을 죽일 때, dead[i] = false 는 점수 되돌리기를 진행한 후에 해야합니다.
  3. 낮에 유죄 점수가 높은 사람을 죽일 때, 이미 죽은 0번이 계속 죽는 경우가 생깁니다.
  4. 낮에 유죄 점수가 높은 사람을 죽이고 난 후에도 재귀가 끝나면 다시 살려야합니다.

댓글을 작성하려면 로그인해야 합니다.