도무지 못해서 이렇게 올립니다.
hanoi(5, 1, 2); // 이렇다면.. 5개의 탑을 1번에서 2번으로 옮기는...
void Hanoi(int nDisk, int nFrom, int nTo)
{
// if (TerminalCondition)
// Simple Solution.
// General rule.
}
양식은 이렇습니다.
이함수에서 더이상 바꿀수가 없죠...
제가 머리를 짜고 짜고, 온갖 인터넷을 다뒤져도
저함수로는 안됩니다.
인수가 4개..
즉 탑의높이와 몇번에서 몇번으로 옮길지와 temp하나의 인수가 있어야지 재귀호출로 풀리는데...
이건 도저히 안풀리네요...
힌트라도 부탁드리겠습니다.
|