汉诺塔VIITime Limit: 2000/1000 MS (Java/Others)Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 1191Accepted Submission(s): 785Problem Descr...
分类:
其他好文 时间:
2015-04-01 12:57:45
阅读次数:
70
题目链接:http://sfxb.openjudge.cn/dongtaiguihua/E/题目描述:4个柱子的汉诺塔,求盘子个数n从1到12时,从A移到D所需的最大次数。限制条件和三个柱子的汉诺塔问题相同。解题思路:采用动态规划算法的思路为先从将k个盘子使用4个柱子的方法从A移到B,然后将A上剩下...
分类:
其他好文 时间:
2015-04-01 00:14:13
阅读次数:
152
1028. Hanoi Tower Sequence
Constraints
Time Limit: 1 secs, Memory Limit: 32 MB
Description
Hanoi Tower is a famous game invented by the French mathematician Edourard Lucas in 1883. W...
分类:
其他好文 时间:
2015-03-31 09:04:28
阅读次数:
135
两种操作都是递归实现,汉诺塔思想。#include
#include
using namespace std;void reverse(stack &s)//逆序栈
{
if(s.size()==0)
return ;
int a=s.top();
s.pop();
if(s.size()==0)
{...
分类:
编程语言 时间:
2015-03-29 21:01:09
阅读次数:
247
汉诺塔III
Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 11335 Accepted Submission(s): 5121
Problem Description
约19世纪末,在欧州的商店中出售一种智力玩具...
分类:
其他好文 时间:
2015-03-28 21:54:37
阅读次数:
175
两种操作都是递归实现,汉诺塔思想。
1、逆序栈
void ReverseStack(Stack& stack)
{
if (stack.Count == 0)
return;
object top = stack.Pop();
ReverseStack(stack);
if (stack.Count == 0)
{
sta...
分类:
编程语言 时间:
2015-03-28 08:55:16
阅读次数:
182
一:插入排序
/*
* 插入排序
*/
/*
* 原序列 [12] 15 9 20 6 31 24
* 第0趟 [12 15] 9 20 6 31 24
* 第1趟 [9 12 15] 20 6 31 24
* 第2趟 [9 12 15 20] 6 31 24
* 第3趟 [6 9 12 15 20] 31 24
* n个数,一共需要多少趟?n个数,n-1趟
* 第...
分类:
编程语言 时间:
2015-03-22 09:18:50
阅读次数:
161
汉诺塔(三)
时间限制:3000 ms | 内存限制:65535 KB
难度:3
描述
在印度,有这么一个古老的传说:在世界中心贝拿勒斯(在印度北部)的圣庙里,一块黄铜板上插着三根宝石针。印度教的主神梵天在创造世界的时候,在其中一根针上从下到上地穿好了由大到小的64片金片,这就是所谓的汉诺塔。不论白天黑夜,总有一个僧侣在按照下面的法则移动这些金片:一次只移动一片...
分类:
其他好文 时间:
2015-03-18 20:33:45
阅读次数:
176
题意:有0~10共11个坐标位置,现在有n个馅饼掉在这11个位置,告诉每个馅饼落下的时刻t和坐标x,且位于x出的人只能接住x-1,x,x+1这三个位置的馅饼,问最多能接住多少馅饼。
思路:dp[i][j]表示 i 时刻在 x 处能接住的最多馅饼数。dp初始化为0,先计算出i时刻j位置有多少馅饼,这样感觉就转化成数塔问题了,可以倒着时间DP,最后答案就是dp[0][5];也可以正着,最后答案是dp[T][0~10]中的最大值(T是最大时间),正着时要注意控制起点要从5开始。...
分类:
其他好文 时间:
2015-03-17 10:35:12
阅读次数:
121
解析:
1、先看汉诺塔1的情况
a、只有一个盘子时,只需挪动一步;
b、假如n个盘子要移动An步,则有n+1个盘子可以先通过An步把上面的n个盘子挪到第二个柱子上,再挪最大的盘子,最后把n个盘子挪到大的上面,总共2An+1步,则有A(n+1)=2An+1。
c、以上式子可推得An=2^n-1。
2、回过来看该題,该题多加了一根柱子,现在有四根柱子了,分别是a,b,c,d,计算将n个盘...
分类:
其他好文 时间:
2015-03-16 21:18:09
阅读次数:
101