博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
杭电ACM——2077,汉诺塔IV(递推/思维)
阅读量:4049 次
发布时间:2019-05-25

本文共 552 字,大约阅读时间需要 1 分钟。

突破口:

既然是汉诺塔,那就非常有可能与原来的汉诺塔问题有联系,手动推出n=1,2,3,4的移动次数分别为2,4,10,28,而原汉诺塔问题n=1,2,3时分别为2,8,26,有什么发现呢?
假设原汉诺塔的数列为x1[20],现汉诺塔的数列为x2[20],那么x2[i]=x1[i-1]+2。

代码如下:

#include
#include
#include
#include
#include
#define pi 3.1415926using namespace std;typedef long long ll;ll x1[21],x2[21];int main(){ x1[1]=2; for(int i=2;i<=20;i++) x1[i]=3*x1[i-1]+2; x2[1]=2; for(int i=2;i<=20;i++) x2[i]=x1[i-1]+2;/* for(int i=2;i<=20;i++) printf("%lld\n",x1[i]);*/ int T,n; cin>>T; while(T--) { cin>>n; cout<
<

转载地址:http://tddci.baihongyu.com/

你可能感兴趣的文章
C# 托管与非托管
查看>>
Node.js中的事件驱动编程详解
查看>>
mongodb 命令
查看>>
MongoDB基本使用
查看>>
mongodb管理与安全认证
查看>>
nodejs内存控制
查看>>
nodejs Stream使用中的陷阱
查看>>
MongoDB 数据文件备份与恢复
查看>>
数据库索引介绍及使用
查看>>
MongoDB数据库插入、更新和删除操作详解
查看>>
MongoDB文档(Document)全局唯一ID的设计思路
查看>>
mongoDB简介
查看>>
Redis持久化存储(AOF与RDB两种模式)
查看>>
memcached工作原理与优化建议
查看>>
Redis与Memcached的区别
查看>>
redis sharding方案
查看>>
程序员最核心的竞争力是什么?
查看>>
Node.js机制及原理理解初步
查看>>
linux CPU个数查看
查看>>
分布式应用开发相关的面试题收集
查看>>