sdut 汉诺塔系列2

汉诺塔系列2

Time Limit: 1000MS Memory Limit: 65536KB
Submit Statistic Discuss

Problem Description

用1,2,...,n表示n个盘子,称为1号盘,2号盘,...。号数大盘子就大。经典的汉诺塔问
题经常作为一个递归的经典例题存在。可能有人并不知道汉诺塔问题的典故。汉诺塔来源于
印度传说的一个故事,上帝创造世界时作了三根金刚石柱子,在一根柱子上从下往上按大小
顺序摞着64片黄金圆盘。上帝命令婆罗门把圆盘从下面开始按大小顺序重新摆放在另一根柱
子上。并且规定,在小圆盘上不能放大圆盘,在三根柱子之间一回只能移动一个圆盘。我们
知道最少需要移动2^64-1次.在移动过程中发现,有的圆盘移动次数多,有的少 。 告之盘
子总数和盘号,计算该盘子的移动次数.

 

Input

包含多组数据,每组首先输入T,表示有T行数据。每行有两个整数,分别表示盘子的数目N(1<=N<=60)和盘号k(1<=k<=N)。

Output

对于每组数据,输出一个数,表示到达目标时k号盘需要的最少移动数。

Example Input

260 13 1

Example Output

5764607523034234884

一开始的超时代码:

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int a1[100];
int move(int n,char a,char b,char c)
{if(n==1){//printf("%c->%c %d\n",a,c,n);a1[n]++;return 1;}else{move(n-1,a,c,b);//printf("%c->%c %d\n",a,c,n);a1[n]++;move(n-1,b,a,c);}
}
int main()
{int n,m,t;while(~scanf("%d",&t)){scanf("%d%d",&n,&m);memset(a1,0,sizeof(a1));move(n,'a','b','c');printf("%d\n",a1[m]);}
}
后来AC:
#include <iostream>
#include <cstdio>
#include<cmath>
using namespace std;
long long int f(int n, int m)
{if(n == m) return 1;//如果盘子的序号与盘子总数相同只需要移动一次就行else return f(n, m+1)*2;//盘子的序号每减一个就乘2
}
int main()
{int n, k, m;while(cin >> k){while(k --){cin >> n >> m;cout << f(n, m) << endl;}}return 0;
}
后来AC:

#include <iostream>
#include <cstdio>
#include<cmath>
using namespace std;
long long int f(int n, int m)
{if(n == m) return 1;//如果盘子的序号与盘子总数相同只需要移动一次就行else return f(n, m+1)*2;//盘子的序号每减一个就乘2
}
int main()
{int n, k, m;while(cin >> k){while(k --){cin >> n >> m;cout << f(n, m) << endl;}}return 0;
}



本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510327.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里CCO:基于 Hologres 的亿级明细 BI 探索分析实践

CCO是Chief Customer Officer的缩写&#xff0c;也是阿里巴巴集团客户体验事业部的简称。随着业务的多元化发展以及行业竞争的深入&#xff0c;用户体验问题越来越受到关注。CCO体验业务运营小二日常会大量投入在体验洞察分析中&#xff0c;旨在通过用户的声音数据结合交易、物…

ubuntu软件安装 caffe相关软件安装 学习笔记

解压rar文件sudo 7z x filename.rar解压zip文件unzip archive_name.zip解压TAR文件# tar -cvf archive_name.tar directory_to_compress运行ssdsudo sucd caffepython ///caffe出现no mudole caffe解决方法source /etc/profile编译caffemake cleanmake all -j8获得复制文件权限…

sdut 青蛙过河

青蛙过河 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 1&#xff09;一条小溪尺寸不大&#xff0c;青蛙可以从左岸跳到右岸&#xff0c;在左岸有一石柱L&#xff0c;石柱L面积只容得下一只青蛙落脚&#xff0c;同样右岸也有一石柱R&…

python调用shell脚本

python程序 import osimport subprocessimport syswhile(1):subprocess.call("/home/your_host_name/caffe/detection_position/test_code/new/call_parse_position.sh", shellTrue) call_parse_position.sh 文件 #!/bin/bash # # #gcc m1.cpp -o m1_run echo &…

sdut 数字三角形问题

数字三角形问题 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 给定一个由n行数字组成的数字三角形如下图所示。试设计一个算法&#xff0c;计算出从三角形的顶至底的一条路径&#xff0c;使该路径经过的数字总和最大。对于给定的由n行…

caffe编译出现 libcudart.so.8.0 cannot open shared object file: No such file or directory的错去

"libcudart.so.8.0 cannot open shared object file: No such file or directory"解决办法是将一些文件复制到/usr/local/lib文件夹下&#xff1a;#注意自己CUDA的版本号&#xff01;sudo cp /usr/local/cuda-8.0/lib64/libcudart.so.8.0 /usr/local/lib/libcudart.s…

sdut 装船问题

装船问题 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 王小二毕业后从事船运规划工作&#xff0c;吉祥号货轮的最大载重量为M吨&#xff0c;有10种货物可以装船。第i种货物有wi吨&#xff0c;总价值是pi。王小二的任务是从10种货物中…

SSD( Single Shot MultiBox Detector)关键源码解析

SSD&#xff08;SSD: Single Shot MultiBox Detector&#xff09;是采用单个深度神经网络模型实现目标检测和识别的方法。如图0-1所示&#xff0c;该方法是综合了Faster R-CNN的anchor box和YOLO单个神经网络检测思路&#xff08;YOLOv2也采用了类似的思路&#xff0c;详见YOLO…

sdut 删数问题

删数问题 Problem Description 键盘输入一个高精度的正整数n&#xff08;≤100位&#xff09;&#xff0c;去掉其中任意s个数字后剩下的数字按照原来的左右次序组成一个新的正整数。编程对给定的n与s&#xff0c;寻找一种方案&#xff0c;使得剩下的数字组成的新数最小。Input …

爬取百度搜索的图片

#encoding:utf-8import urllibimport requests #首先导入库import reMaxSearchPage 20 # 收索页数CurrentPage 0 # 当前正在搜索的页数DefaultPath "/home/mindfusion/pic" # 默认储存位置NeedSave 0 # 是否需要储存n0def imageFiler(content): # 通过正则获取当…

sdut 活动选择问题

活动选择问题 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description sdut 大学生艺术中心每天都有n个活动申请举办&#xff0c;但是为了举办更多的活动&#xff0c;必须要放弃一些活动&#xff0c;求出每天最多能举办多少活动。Input 输入包括…

YOLO升级版:YOLOv2和YOLO9000解析

论文笔记&#xff1a;YOLO9000: Better, Faster, Stronger&#xff1b;官方网站 评论&#xff1a;YOLO是基于深度学习方法的端到端实时目标检测系统&#xff08;YOLO&#xff1a;实时快速目标检测&#xff09;。YOLO的升级版有两种&#xff1a;YOLOv2和YOLO9000。作者采用了一系…

sdut 马的走法

马的走法 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 在一个4*5的棋盘上&#xff0c;马的初始位置坐标&#xff08;纵 横&#xff09;位置由键盘输入&#xff0c;求马能返回初始位置的所有不同走法的总数&#xff08;马走过的位置不…

python 生成xml文件

from xml.dom.minidom import Document # 确保caffe在Python路径: import xml.dom.minidomdoc Document() #创建DOM文档对象Object doc.createElement(Objects)doc.appendChild(Object) objec_namepersonlable15xmin207ymin106xmax489ymax381score0.99566object_name doc.c…

sdut 懒虫小鑫

懒虫小鑫 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 小鑫是个大懒虫&#xff0c;但是这一天妈妈要小鑫去山上搬些矿石去城里卖以补贴家用。小鑫十分的不开心。不开心归不开心&#xff0c;小鑫还是要做这件事情的。我们把这个事情简…

c++ 解析xml文件

解析的xml文件 <?xml version"1.0" encoding"utf-8"?><Objects><person><label>15</label><xmin>207</xmin><ymin>106</ymin><xmax>489</xmax><ymax>381</ymax><scor…

sdut 最少拦截系统

最少拦截系统 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统.但是这种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能超过前一发的高度.…

ubuntu下动态链接库的编译和使用实例

以下实例的环境是amd64 ubuntu10.10 g 4.4.5测试成功&#xff0c;在其他配置的机器上可能有一点区别。 动态库的使用方式中有两种&#xff0c;第一种是类似于静态库的使用&#xff0c;另一种我称之为真正的动态加载动态库&#xff0c;主要是因为这种方式在程序运行的过程中加载…

sdut 数据结构实验之栈四:括号匹配

数据结构实验之栈四&#xff1a;括号匹配 Time Limit: 1000MS Memory Limit: 65536KBSubmit Statistic DiscussProblem Description 给你一串字符&#xff0c;不超过50个字符&#xff0c;可能包括括号、数字、字母、标点符号、空格&#xff0c;你的任务是检查这一串字符中的( )…

解读Batch Normalization

【活动】Python创意编程活动开始啦&#xff01;&#xff01;&#xff01; CSDN日报20170424 ——《技术方向的选择》 程序员4月书讯&#xff1a;Angular来了&#xff01;解读Batch Normalization 2016-02-23 16:03 5262人阅读 评论(1) 收藏 举报 本文章已收录于&#xf…