双色汉诺塔问题:圆盘最初是混合颜色的从小到大排好的,现在要求根据其颜色分开到两个柱子上分别从小到大排好。三色汉诺塔问题可与此类似,分别是排到三个柱子上。
与汉诺塔问题类似,稍作一点改动,假设柱子的编号为ABC,共有n个圆盘(n为偶数)
1.将最上面的n-1个圆盘从A移动到B上面
2.将底部那个圆盘从A移动到C
3.将B柱上的n-2个圆盘移动到A上,从而形成了第二个图那样的情景
因此,可以根据一个递归的解法来解决此问题
//双色汉诺塔问题
#include<iostream>
using namespace std;
int removeTimes = 0;
void hanoiorignal(int nmovnum, char czsource, char cztemp, char czdes)
{
if (nmovnum == 0)