3846chs   4년 전

백트래킹 이렇게 푸는 거 아닌가요?

N 이 8 이하일 때는 빠르게 답이 나오는데(답은 맞습니다)

N 이 9 이상일 때부터 급속하게 느려집니다.(답도 맞는 것 같습니다.)

특히 N 이 14일 때는 10분 이상 걸리네요..

다들 이렇게 푸시지 않았나요...? 

lim551   4년 전

현재 위치에 놓을 수 있는지 확인하는데 O(n)이 걸려서 비효율적입니다. O(1)만에 체크 할 수 있는 방법을 생각해보세요.

3846chs   4년 전

@lim551

현재 위치에 놓을 수 있는지 확인하는 코드는 6~7번째 줄로 O(1) 입니다.

현재 위치의 퀸이 공격할 수 있는 칸을 False 로 칠하는데에 O(N) 이 걸리긴 하는데 그걸 의도하신건가요?

lim551   4년 전

네 지금 보니 update 자체가 O(n^2)이네요. 저걸 O(n)이나 O(1) 정도로 줄이면 될 것 같습니다.

3846chs   4년 전

board 를 업데이트 하는 것이 아닌, Queen 의 위치 정보를 저장하는 방식으로 해결했습니다.

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