编程实现:(P1809 过河问题)
小青要赶 N (2<N<100) 匹小马过河,N 匹小马过河都需要一定的时间(分钟),小青每次过河最多能赶两匹小马 (骑一并赶一匹),返回时需骑一匹,每次过河的时间为走的慢的小马花费的时间。请计算至少需要多长时间才能把 N 匹小马全部赶过河。
例如: N = 4,4 匹小马过河需要的时间分别为 1,2,3,4 (单位: 分钟)。
用时最少的一种过河方式:
第一次:赶 1 分钟和 2 分钟的小马过河,然后骑 1 分钟的小马返回,共花费 3 分钟 (过去花费 2 分钟,回来花费 1 分钟)
第二次:赶 3 分钟和 4 分钟的小马过河,然后骑 2 分钟的小马返回,共花费 6 分钟 (过去花费 4 分钟,回来花费 2 分钟)
第三次: 赶 1 分钟和 2 分钟的小马过河,共花费 2 分钟 (过去花费 2 分钟)
总共最少花费的时间是 11 分钟(3+6+2=11)
输入说明
两行整数,第一行表示总共有多少匹马 N(2<N<100),第二行表示每匹马过河所需要的时间,数字之间以英文逗号隔开
输出说明
一行一个整数,表示将所有马儿赶过河所需要的最短时间
【输入样例】
4
1,2,3,4
【输出样例】
11
编程实现:
给定一个字符串 S (5<S 长度<50) ,请找出 S 中不含重复字符的最长子串的长度。
例如:s 为 ababc,其中 ababaababbababc,均为包含重复字符 的子串;而 ababbc 均为不含重复字符的子串,最长子串有 abc,所以不含重复字符的最长子串的长度为 3。
输入描述
输入一个字符串 S (5<S 长度<50)
输出描述
输出一个整数,表示 S 中不含重复字符的最长字串的长度
【输入样例】
ababc
【输出样例】
3
提示信息:
数字塔是由 N 行数堆积而成,最顶层只有一个数,次顶层两个数,以此类推。
相邻层之间的数用线连接,下一层的每个数与它上一层左上方和右上方的数连接 (左上方或右上方没有数则不需要连接)。
编程实现:
有一个 N 行 (0≤N≤50) 的数字塔,小蓝想要从最顶层开始,沿着线层一层向下移动,移动到最底层。小蓝想找出一条移动路径,使得路径上的数之和最大 (包含顶层和底层的数),请计算出最大的和是多少。
例如: N=5,5 层的数字塔,每层的数如下图所示:
从顶层数为 2 到底层数为 15 的路径上的数之和最大,最大和为 48。路径为:
2+3-18-10- 15。
输入描述
第一行输入一个正整数 N (2<N<50) ,表示数字塔的层数接下来输入 N 行,其中第一行为一个正整数,接下来每行的正整数比上一行多一个,每行的正整数之间以一个英文逗号隔开 (1<1 整数<1000)
输出描述
输出一个整数,表示从数字塔最顶层移动到最底层的路径上的数之和的最大值
【输入样例】
5
2
3,12
18,8,3
5,10,13,2
4,15,7,6,8
【输出样例】
48
提示信息:
平方: 是一种运算,表示一个数与它自身相乘的乘积。
例如: 2 的平方为 4(4=2*2) ,5 的平方为 25 (25=5*5)
编程实现:
给定 N 个正整数 (1<N<100) ,计算出 N 个正整数中所有偶数的平方并按照输入的顺序输出。
例如:N = 5,5 个正整数分别为 1,4,3,2,4:其中偶数有 4、2、4;4 的平方为 16 (16=4*4) ,2 的平方为 4(4=2*2) ,4 的平方为 16 (16=4*4),输出的结果为 16,4,16。
输入描述
第一行输入一个正整数 N (1<N<100),表示正整数的个数第二行输入 N个正整数 (1<正整数<200) ,正整数之间以一个英文逗号隔开
输出描述
如果 N 个正整数中有偶数,则按照输入的顺序依次输出所有偶数的平方,平方数之间以一个英文逗号隔开,如果没有偶数,输出-1
【输入样例】
5
1,4,3,2,4
【输出样例】
16,4,16
编程实现:
给定一个小数 N (1.0<N<99.99) ,输出 N 的整数部分例如: N = 11.62,11.62的整数部分为 11,则输出 11。
输入描述
输入一个小数 N (1.0<N<99.99)
输出描述
输出一个整数,表示 N 的整数部分
【样例输入】
11.62
【样例输出】
11
编程实现:
给定一个字符,判断它是否是小写字母 a,如果是,就输出 Y,否则输出 N
例如: 给定的字符#,不是小写字母 a,输出 N。
输入描述
输入一个字符
输出描述
输出一个字符,如果输入的字符是小写字母 a,就输出 Y,否则输出 N
【样例输入】
#
【样例输出】
N
以下哪个选项不可以作为字典的键? ( )
字符串
元组
整数
列表
若想获得两个集合中不重复的元素,可以使用( ) 。
symmetric_difference()
union()
issubset()
intersection()
使用 open 函数,以二进制格式打开一个文件用于追加的模式是 ( ) 。
rb
wb
a+
ab
执行 print(3 % 4)语句后,输出的结果是 ( ) 。
0.75
3
4
12
已知: L = [1,2,3,4,5],执行 print(L[0] + L[-1])语句后,输出的结果是 ( ) 。
4
5
6
7