智能算法挑战赛复赛小学组

智能算法挑战复赛小学组
(总共 4 道题)
. 1. 删除 k k 位数字,得到最小的数
【题目描述】
输入一个数字串 N,长度不超过 250 位,去掉其中任意 k 个数字后剩下的数字按
原左右次序将组成一个新的整数,要求组成新的整数最小。
【输入格式】
输入两行正整数。
第一行输入一个高精度的正整数 n。
第二行输入一个正整数 k,表示需要删除的数字个数。
【输出格式】
输出一个整数,最后剩下的最小数。
【样例输入】(测试数据不包含本样例)
175438
4
【样例输出】
13
. 2. 多层汉诺塔
【题目描述】
汉诺塔是一个有意思的游戏,每个柱子上套上多个中心有洞的圆盘,每次只能移
动一个圆盘,并且每个圆盘不能放在比它面积小的圆盘的上面。
现在有三套圆盘并叠加放在一个柱子上了,请移动圆盘,使每个柱子上的圆盘都
按照相同的顺序从大到小的摆放好,也就是把三份盘子平均分开。请问对于 n 个不
同数量的圆盘(也就是共有 3*n 个盘子),分别在每个柱子上分好 n 个盘子,最少需
要移动多少步?示意图如下图。
【输入格式】
输入共 1 行,包括一个正整数 n
【输出格式】
输出共 1 行,一个整数,表示需要移动圆盘的最少的步骤数。
【样例输入】
1
【样例输出】
2
. 3. 摘葡萄
【题目描述】
葡萄架上的葡萄熟了,小明要去摘葡萄,已知葡萄架上每串葡萄的高度和小明伸
手可以够到的高度(高度值均为厘米),只要手能够到就可以摘下。另外,小明还带
了一个 30 厘米高的小凳子,可以站在凳子上摘葡萄。
小明的力气有限,已知小明最初的力气值 n,站在地上摘一串葡萄耗费 1 个力气
值,站在小凳上摘葡萄耗费 2 个力气值,力气值不够就不能摘了。
请帮助计算一下小明在力气值耗尽前最多可以摘下多少串葡萄。
【输入格式】
第一行由空格隔开的三个整数 h,n,m,0 在地面伸手可够到的高度、初始力气值和架上葡萄的总串数。
第二行由空格隔开的每串葡萄的高度值,为 1 到 255 间的整数。
【输出格式】
一个整数,为可以摘到葡萄的串数。
【样例输入】(测试数据不包含本样例)
140 10 13
130 135 120 155 190 140 130 180 170 150 110 200 130
【样例输出】
8
. 4. 配备书的方案
【题目描述】
中科智慧科技馆里面,科技课程导师要为同学们准备一些科普图书,方便大
家阅读。假设一共要选出 n 本书放在书架上,并且书的种类有 m 种,包括天文的、
计算机的、物理的、化学的、生物的等等。老师会按照每个种类顺序固定的方式摆
放好,以方便大家借阅。假设给出每类书现有的数量,请求解出一共有多少种选书
方案,也就是总共挑选出 n 本书(从每种图书中挑选不同的本数),一种有多少种摆
放方案?
【输入格式】
第一行包含两个正整数,分别是 m 种书,和要摆放在书架上的 n 本书。
第二行,由空格隔开的每个种类书的数量。
【输出格式】
输出一行一个整数,表示有多少种图书的摆放方案。
注意:摆放方案数量可能很多,请输出方案数对 202307 取模的结果。
【样例输入】(测试数据不包含本样例)
2 4
3 2
【样例输出】
2

你可能感兴趣的:(算法)