[ QuizWit ] in KIDS 글 쓴 이(By): Papillon ( kaputt) 날 짜 (Date): 2007년 10월 7일 일요일 오전 02시 01분 57초 제 목(Title): Re: [Q] 프리셀에서 일단 (n+1)을 한 묶음으로 생각한다는 점은 제가 잘 이해했습니다. 이론적으로도 이해했고, 실제로 n=1, m=2인 경우를 '낱장으로' 옮기면서도 이해했습니다. 그런데 cdpark님이 제시하신 답을 확인하기 위해 다시 시뮬레이션을 하던 중 n=0, m=3의 경우에 8장을 한꺼번에 옮길 수 있다는 것을 추가로 알게 되었습니다. 물론 저도 처음에는 taiyou님처럼 sum(1:m)+1 을 해답으로 생각했지만요... 아래의 경우에 다음의 방법이 실제로 가능합니다. (시각적인 효과를 위해 숫자를 아래에서 위 순으로 적겠습니다.) from{8,7,6,5,4,3,2,1}, m0{}, m1{}, m2{}, to{} --> ... --> ... --> from{}, m0{4,3,2,1}, m1{6,5}, m2{7}, to{8} --> ... --> ... --> from{}, m0{}, m1{}, m2{}, to{8,7,6,5,4,3,2,1} m0에 4장을 옮길 수 있는 것은 결국 이 문제가 재귀적으로 n=0, m=2 의 경우와 같기 때문입니다. 이 부분만 구체적으로 보이면, from m2 m1 m0 to 아래 위 {8,7,6,5,4,3,2,1} { } { } { } { } {8,7,6,5,4,3,2 } {1} { } { } { } {8,7,6,5,4,3 } {1} {2 } { } { } {8,7,6,5,4,3 } { } {2,1} { } { } {8,7,6,5,4 } {3} {2,1} { } { } {8,7,6,5 } {3} {2,1} {4 } { } {8,7,6,5 } { } {2,1} {4,3 } { } {8,7,6,5 } {1} {2 } {4,3 } { } {8,7,6,5 } {1} { } {4,3,2 } { } {8,7,6,5 } { } { } {4,3,2,1} { } 나중에 to column으로 옮길 때는 이 과정을 역순으로 수행하면 됩니다. ...as I'm sitting here doing nothing but aging, still my guitar gently weeps... --- George Harrison |