벽을 놓는 세 지점을 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도 같이 있어야 합니다. 정확하게 인자로 받은 이 칸부터 탐색을 이어나가야만 중복을 거를 수 있습니다.
bsy1343 5년 전
예제 2번의 예로
안전영역 설치를 할 수 있는 공간(0)이 17개라고 하였을떄
17*16*15 / 3*2*1 = 680의 경우의수가 나와야 할 거 같은데
저의 소스에서 경우의 수는 17*16*!5인 4080이 나옵니다
백트레킹에 대한 이해가 조금 부족한거같은데...
현재 소스에서 어떻게 변경을해야 680번의 경우의 수를 만들 수 있을지 모르겠어서 질문을 올립니다..