【算法与数据结构2伴学】作业和解答

本文包含四个算法作业:链表插入、单身狗配对、性格匹配配对以及身高排序问题。涉及链表操作、逻辑判断及组合计数等算法知识点。
摘要由CSDN通过智能技术生成

作业1:链表插入
Description
给定一个链表和链表中的一个位置m,在这个位置的后面插入一个新的元素x。
Input
一共有两行,第一行是多个数字,以空格隔开,最多100000个数字。
第二行是两个个数字,第一个数字是m,第二个是x。
数字均在int范围内。
Output
一行输出,数字之间用“->”来表示链表方向。比如:1->2->3->4

Sample Input 1 
1 2 3 4
0 1
Sample Output 1
1->1->2->3->4
Sample Input 2 
3 4 5 6 7 8
2 10
Sample Output 2
3->4->5->10->6->7->8

作业2:单身狗配对
Description
B公司组织了一场七夕配对活动,单身的男女生可以来参加活动。
配对规则:

  1. 所有参加活动的人都只排成一列,来参加活动的女生只会和排在队伍最后的男生配对。
  2. 如果女生来到现场没有可以配对的男生则活动失败。
  3. 如果最后有没有被领走的男生则活动也失败。

问题:
给定到场参加活动人士顺序的性别,问活动能不能成功举办。
Input
一行数据,到场人士顺序的性别。
如:mfmfmfmmff
参加人数不超过100人。
Output
True或者False表示活动能否成功举办。

Sample Input 1 
mfmfmf
Sample Output 1
True
Sample Input 2 
mfmmfffm
Sample Output 2
False

作业3:单身狗配对2
Description
C公司模仿B公司组织了一场七夕配对活动,单身的男女生可以来参加活动。
为了让配对活动更加完善,本次活动还考虑了双方的性格,双方必须性格也一致才能完成配对。
本着女士优先的原则,来参加活动的女生可以直接配对,先到的男生必须先等待。而如果女生来到现场没有可以配对的男生则活动失败,如果最后有没有被领走的男生则活动也失败。
假设所有参加活动的人都只排成一列,来参加活动的女生只会和排在队伍最后的男生配对。
给定到场参加活动人士顺序的性别,问活动能不能成功举办。
Input
一行数据,到场人士顺序的性别和性格,数据之间用空格隔开。
如:m1 f1 m2 f2 m3 f3 m3 m3 f4 f4
参加人数不超过20万人。
Output
True或者False表示活动能否成功举办。

Sample Input 1 
m1 m2 m3 f3 f2 f1
Sample Output 1
True
Sample Input 2 
m2 m3 m3 f1 f2 f3
Sample Output 2
False

作业4:身高排序
Description
A公司举办七夕活动,活动结束大家准备拍照,由于场地限制的原因,每次可能只能让其中一部分人一起拍照。
A公司纪律严谨,每次拍照必须按照身高从大到小排列。
问有多少种不同的拍照方式呢?
Input
一共两行数据,第一行是一共有多少人,第二行是每次可以有多少人来拍照。假设所有人的身高都正好各不相同。
总人数不超过20人,一次拍照最多不超过6人。
Output
将所有可能排列的方式输出出来。
每行输出一个列表,列表内的数字为拍照时身高排列的序号,如:[10,9,8,7]。
例如,有20个人,那么身高最高的人编号就是20,最低的就是1。
输出时列表内的数字需要从大到小排列,列表内编号之和最大的排列方式要优先输出。

Sample Input 1 
5
2
Sample Output 1
[5, 4]  
[5, 3]  
[5, 2]  
[5, 1]  
[4, 3]  
[4, 2]  
[4, 1]  
[3, 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值