coronal95   2년 전

backtracking할 때 중복되는 것도 없는 듯 한데 자꾸 시간초과가 뜨네요 ㅠㅠ 제가 뭔가 중복해서 계산하는 것이 있는 것 같은데 도저히 찾지 못하겠습니다.. 도와주세요 ㅠㅠㅠ 

coronal95   2년 전

자답합니다 ..

 32번째 줄 if (hor(cur + 1, n, depth + 1)) return true; 에서 cur + 1 이 아닌 i를 넣어 backtracking하면 잘 됩니다. cur은 for문 내에서 고정된 숫자인데, cur+1 해버리면 중복되어 backtracking을 수행하게 됩니다. 

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