noddown   5년 전

치킨집 5개 중에  폐업하지 않을 치킨집 수를 3개이면 

 1,1,1,0,0 으로 설정(0=폐점치킨집)하여 풀었습니다.

그리고 각 집마다 배달 가능한 치킨집(1인 치킨집) 중 최소 거리를 구하여 다 더하여 해당 치킨집 조합에서의 최소거리를 구한 뒤,

prev_permutation을 이용하여 1,1,1,0,0 의 이전 조합 순서로 바꿔가면서 가장 최소가 되는 치킨집 조합에서의 거리를 답으로 제시하였습니다.

다 맞게 푼 것 같은데 왜 틀리다고 나오는지 모르겠어요 확인 좀 부탁드려요ㅠㅠ

noddown   5년 전

작성자입니다. 치킨집을 선택하기 위해 factorial을 써서  combination을 구현하여 combination 횟수만큼 for문 동작 시키는 부분이 의심이 갔었는데요. 이 부분을 do { } while(prev_permutation) 꼴로 고쳤더니 정답이라고 뜹니다. 원인은 찾았는데 왜 for문으로 combination 회수를 직접 정해주면 안 되는지 아시는 분 있나요? 제 머릿속으로는 완전히 동일한 방법이라고만 생각되네요ㅠㅠ

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