qx가 0보다 작거나 100000보다 커질 수 있으니 범위 검사를 해야 합니다.
1697번 - 숨바꼭질
C++에는 short-circuit evaluation이라는 것이 있어서, 논리 AND나 OR 연산에 대해 좌항을 먼저 평가한 뒤, 그로 인해 전체 식의 참/거짓이 결정될 경우 우항은 실행하지 않습니다. AND의 경우 좌항이 false이면 우항의 결과에 관계없이 전체 false가 확정되므로, 우항의 내용은 아예 실행하지 않게 됩니다. 반대로 OR의 경우 좌항이 true이면 우항의 결과에 관계없이 전체 true가 확정되므로 우항은 실행되지 않습니다.
만일 qx가 0보다 작거나 100000보다 크다면 X[qx] == 0의 결과에 관계없이 전체 식이 false인 것이 확정이므로 X[qx] == 0은 아예 실행하지 않게 됩니다.
댓글을 작성하려면 로그인해야 합니다.
xotmd17 5년 전
질문검색내용을 보면 갔던 곳을 다시 가지 않게만 하면 BFS를 사용해서 가능하다고 했는데
왜 런타임에러가 나는 것 인지 모르겠습니다. 1 12004 까지만 가능합니다.
오류가 나는 이유가 무엇인지 알려주세요 ㅠㅜ