递归汉诺塔
2016-02-03 19:44
344 查看
#include<cstdio> #include<string> #include<cmath> using namespace std; int ans=0; void hanoi(int n,int a,int b,int c){ if(n==0){ printf("%d:%d->%d\n",a,b,c);ans++; return; } hanoi(n-1,b,c,a); printf("%d:%d->%d\n",a,b,c);ans++; hanoi(n-1,b,a,c); } int main(){ int n; scanf("%d",&n); hanoi(n,1,2,3); printf("%d\n",ans); return 0; }
相关文章推荐
- 读 大数据 有感
- android 单元测试简单方法及错误处理
- 1049. 数列的片段和(20)
- 1050. 螺旋矩阵(25)
- 【React Native开发】React Native控件之Touchable*系列组件详解(18)
- 1048. 数字加密(20)
- HDU 3711 Binary Number
- POJ3264 Balanced Lineup(线段树)
- 百度
- PHPSTORM ACTIVATION 注册激活
- JQuery实现品牌展示
- MySQL and SQL Injection
- [Lintcode] Remove Linked List Elements 删除链表中的元素
- 设计模式——原则
- 初学Java Web,搭建开发环境(Eclipse+Tomcat+MySQL)
- Java加载类路径下资源
- ECLIPSE老插件不能安装问题
- cocos2dx 3.3 pluginx protocols文件夹分析
- 关于日期和时间
- 苹果升级以旧换新计划