返回顶部

收藏

汉落塔算法二

更多
/*这是我老师编的程序 Andy*/
#include <conio.h>
#include <string.h>
char dd[10][20],space[20];
int a[11],b[11],c[11];

init()
{
    int i,j;
    for(i=0;i<20-1;i++) space[i]=' ';
    space[i]='\\0';

    for(i=0;i<10;i++)
    {  for(j=0;j<20-1;j++)dd[i][j]=' ';
       dd[i][j]='\\0';
       for(j=9-i;j<=9+i;j++)dd[i][j]='a'+i;
    }
    for(i=0;i<10;i++) a[i]=i,b[i]=-1,c[i]=-1;

    a[10]=2,b[10]=25,c[10]=50;

    for(i=0;i<10;i++)
    {   gotoxy(a[10],10+i);
        cprintf("%s",dd[i]);
    }
}

move(int *s,int *d)
{    int i,j;
      for(i=0;s[i]==-1&&i<10;i++);
      gotoxy(s[10],10+i);
      cprintf("%s",space);
      for(j=0;d[j]==-1&&j<10;j++);
      j--;
      gotoxy(d[10],10+j);
      cprintf("%s",dd[s[i]]);
      d[j]=s[i];s[i]=-1;
      getche();
}

void hanoi(int n,int *s,int *w,int *d)
{   int i;
    if(n==1)move(s,d);
    else
    {   hanoi(n-1,s,d,w);
        move(s,d);
        hanoi(n-1,w,s,d);
    }
}

main()
{
clrscr();
init();
getche();
hanoi(10,a,b,c);
getche();
}
//该片段来自于http://outofmemory.cn

标签:c++,算法

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. bystander 发表 2013-04-16 00:42:58 模板优先级队列及堆排序(C++实现)
  2. dianlujitao 发表 2014-10-17 13:52:22 POJ 2388 Who’s in the Middle
  3. abyssss 发表 2014-05-20 03:23:39 数据结构 最小堆 数组实现
  4. dianlujitao 发表 2014-10-17 13:56:48 POJ 1611 The Suspects
  5. surgesoft 发表 2014-10-28 08:01:58 LeetCode OJ: Restore IP Addresses
  6. espace 发表 2015-07-18 17:43:14 Two Sum
  7. bystander 发表 2013-05-15 10:37:24 倒水问题求解(C++)
  8. dianlujitao 发表 2014-10-17 14:11:26 POJ 1328 Radar Installation
  9. bystander 发表 2013-04-01 10:12:37 [藏]关于B树的一篇文章
  10. lvfuyu 发表 2015-04-12 08:53:30 [hihocoder]矩阵快速幂
  11. lvfuyu 发表 2015-04-18 09:13:32 [hihocoder]二分查找
  12. leaver 发表 2013-05-27 02:55:49 求整数1-N范围和为N的所有组合

发表评论