bsy1343   5년 전

예제 2번의 예로

안전영역 설치를 할 수 있는 공간(0)이 17개라고 하였을떄

17*16*15 / 3*2*1 = 680의 경우의수가 나와야 할 거 같은데

저의 소스에서 경우의 수는 17*16*!5인 4080이 나옵니다

백트레킹에 대한 이해가 조금 부족한거같은데...

현재 소스에서 어떻게 변경을해야 680번의 경우의 수를 만들 수 있을지 모르겠어서 질문을 올립니다..

djm03178   5년 전

벽을 놓는 세 지점을 x y z라고 할 때, 이 코드는 x y z 뿐만 아니라 x z y, y x z, y z x, z x y, z y x 모두를 시도해보고 있습니다. 실제로는 모두 같은 조합임에도 불구하고 그렇습니다.

backTracking 메서드의 인자로 row를 받고 있지만 이 값이 항상 0이기 때문에 의미가 없고, 완전하게 중복을 거르려면 row 뿐만 아니라 col도 같이 있어야 합니다. 정확하게 인자로 받은 이 칸부터 탐색을 이어나가야만 중복을 거를 수 있습니다.

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