算法实训题目(6)

2019-03-28 09:01

试设计一个算法,用最少的移动次数将塔座A 上的n 个圆盘移到塔座B 上,并仍按同

样顺序叠置。

算法设计:

对于给定的正整数n,计算最优移动方案。 数据输入:

输入数据。第1 行是给定的正整数n。

结果输出:

文件的每一行由一个正整数k 和2 个字符c1 和c2组成,表示将第k个圆盘从塔座c1移到塔座c2上。(输出字典序最小) Sample input 3

Sample output 1 A B 2 A C 1 B C 3 A B 1 C A 2 C B 1 A B

标准2维表问题

Time limit: 1000MS Memory limit: 32768K

Total Submit: 9 Accepted: 6

问题描述:

设n 是一个正整数。2′n 的标准2 维表是由正整数1,2,…,2n 组成的2′n 数组,该

数组的每行从左到右递增,每列从上到下递增。2′n的标准2 维表全体记为Tab(n)。例如,

当n=3时Tab(3)如下:

1 2 3 4 5 1 2 3 1 2 4 1 2 5 1 3 4 1 3 5 4 5 6 3 5 6 3 4 6 2 5 6 2 4 6

算法设计:

给定正整数n,计算Tab(n)中2′n的标准2 维表的个数。 数据输入:

给出输入数据。第一行有1 个正整数n。

结果输出:

将计算出的Tab(n)中2′n的标准2 维表的个数输出. Sample input 3

Sample output 5

整数因子分解问题

Time limit: 1000MS Memory limit: 32768K

Total Submit: 14 Accepted: 1

问题描述:

大于1 的正整数n可以分解为:n=x1*x2*…*xm。 例如,当n=12 时,共有8 种不同的分解式: 12=12; 12=6*2; 12=4*3; 12=3*4; 12=3*2*2; 12=2*6; 12=2*3*2; 12=2*2*3。

算法设计:

对于给定的正整数n,计算n共有多少种不同的分解式。

数据输入:

给出输入数据。第一行有1 个正整数n (1≤n≤1000)。 结果输出:

将计算出的不同的分解式数输出. Sample input 12

Sample output 8

有向直线2中值问题

Time limit: 1000MS Memory limit: 32768K

Total Submit: 0 Accepted: 0

问题描述:

给定一条有向直线L以及L上的n+1个点x0 < x1 都有一个权w(xi );每条有向边(xi ,xi-1 )也都有一个非负边长d(xi,xi-1 )。有向直线L上的 每个点xi可以看作客户,其服务需求量为w(xi)。每条边(xi,xi-1)的边长d(xi,xi-1)可以看

作运输费用。如果在点xi处未设置服务机构,则将点xi处的服务需求沿有向边转移到点xj

处服务机构需付出的服务转移费用为w(xi)*d(xi,xj)。在点x0处已设置了服务机构,现在

要在直线L上增设2处服务机构,使得整体服务转移费用最小。

算法设计:

对于给定的有向直线L,计算在直线L上增设2 处服务机构的最小服务转移费用。

数据输入:

给出输入数据。第1 行有1 个正整数n,表示有向直线L上除了点x0外 还有n个点x0别表示w(xn-i-1) n-i-1 w x 和d(xn-i-1,xn-i-2)。 结果输出:

将计算的最小服务转移费用输出. Sample input

9 1 2 2 1 3 3 1 1 3 2 1 6 2 1 1 2 1 1

Sample output 26

数字游戏

Time limit: 1000MS Memory limit: 32768K

Total Submit: 49 Accepted: 36

大家小的时候应该都玩过数字游戏吧,那一张张小卡片每次都会给我们带来意外的惊喜,那么现在让我们再玩一下吧。游戏规则很简单,就是给出一个数(小于100000000),将他们的各位数字相乘得积,直到最后变成一位数字(在本题中,所有的测试数据最后都能变成一位数),将这个一位数字输出即可。规则很简单吧,格式就如输入举例的,那让我们试试吧。

Sample Input: 123 9999 5656 1234 1111

Sample Output: 6 0 0

8 1

2011-软件091-092-实验七

零件加工问题1

Time limit: 1000MS Memory limit: 32768K

Total Submit: 98 Accepted: 57

有个国有中型企业,接到一批需要加工零件的订单,员工们非常高兴,可是高兴之后却发现问题了,原来这家企业能够加工这批零件的机床有限,如果仅仅为了这批加工任务而新添机床的话,那么既不合算也不必要,因为加工完这批零件后很可能这些机床又要闲置起来,所以大批量购买肯定不行,但这批订单又必须要完成,那么这么办呢?很想请你帮忙设计一个加工任务的顺序,使得完成这批订单所需要使用的机床数量最少。

假定对于待加工的第i个零件,给你两个非负整数Si,Ei,其中Si表示加工开始的时间,Ei表示加工结束的时间,由于受到客观条件的制约,这开始和结束的时间限制必须要遵守。当然在某个时刻一台机器只能加工一个零件。 本问题有多组测试数据,对于每组测试数据,输入的第一行是需要加工的零件个数N,接着是N行[Si,Ei],其中Si,Ei如上所述,输出只有一行,就是完成加工任务所需要的最少机床数。

Sample Input

7 [1,3] [1,4] [2,5] [3,7] [4,7] [6,9] [7,8]

Sample Output


算法实训题目(6).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:每年产2.25万吨铜杆连铸连轧生产装置项目建设可行性研究报告可研

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: