apdh25   4년 전

이 소스의 34번째줄의 

if (~dp[x][y]) 

 return dp[x][y];

여기서 ~dp[x][y] 이부분을 예를들어  dp[x][y] ==0 이라든지 !dp[x][y]로 하면 

7%에서 더이상 진행되지않고 시간초과가 뜹니다.

방문한 지점일경우에 반환해서 시간을 줄여주는 코드이기에 방문지점은 dp값이 0일줄예상하고 코드를 짯는데

꼭 저렇게 비트연산자~ 를 써야만 통과가되는 이유가 정말 궁금합니다 ㅠ

apdh25   4년 전

자문자답입니다.  dp값이 -1인 경우, 즉, 한번도 방문안한지점의경우 0으로 초기화하기위해 추가한 코드였네요.

아직 문제에대한 이해가 부족한가봅니다.

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