打卡信奥刷题(299)用Scratch图形化工具信奥P1798[普及组/提高] 小明搬家,还写了一个好用的排序方法

小明搬家

题目描述

小明要搬家了,大家都来帮忙。

小明现在住在第 N N N 楼,总共 K K K 个人要把 M M M 个大箱子搬上 N N N 楼。

最开始 M M M 个箱子都在 1 1 1 楼,但是经过一段混乱的搬运已经乱掉了。最后大家发现这样混乱地搬运过程效率太低了,于是总结出了提高效率的方法。

大家的速度都是每分钟上(或下)一层楼。所有向上走的人手中都拿一个箱子,所有向下走的人手中都不拿箱子。到达第 N N N 层立刻放下箱子向下走,到达第 1 1 1 层立刻拿起箱子向上走。当一个人向上走,另一人向下走而在楼道里相遇时,向上走的人将手中的箱子交给另一人,两人同时反向。即原来拿箱子向上走的人不拿箱子向下走,原来不拿箱子向下走的人现拿着箱子向上走。

求将所有箱子搬完所需的最短时间。

输入格式

第一行 N , K , M N, K, M N,K,M,分别表示楼层数、人数、还放在一楼地上的箱子数。

接下来 K K K 行,每行两个数 A i , B i A_i,B_i Ai,Bi

A i A_i Ai 表示第 i i i 人现所在的楼层数, B i B_i Bi 0 0 0 1 1 1,为 0 0 0 表示第 i i i 人正拿着箱子向上走,为 1 1 1 表示第 i i i 人不拿箱子向下走。

输入满足没有任意两人正在同一楼层,在第 1 1 1 层的人一定正拿着箱子向上走,在第 N N N 层的人一定正不拿箱子向下走。

输出格式

仅包含一个整数,为搬完箱子的时间。

样例 #1

样例输入 #1

5 2 4
1 0
3 0

样例输出 #1

20

提示

对于 30 % 30\% 30% 的数据, K ≤ 100 K \leq 100 K100 M ≤ 100 M \leq 100 M100

对于 60 % 60\% 60% 的数据, K ≤ 1000 K \leq 1000 K1000 M ≤ 1 0 9 M \leq 10^9 M109;

对于 100 % 100\% 100% 的数据, N ≤ 1 0 9 N \le 10^9 N109 K ≤ 5 × 1 0 5 K \le 5 \times 10^5 K5×105 M ≤ 1 0 9 M \le 10^9 M109

Scratch实现

在这里插入图片描述

后续

接下来我会不断用scratch来实现信奥比赛中的算法题、Scratch考级编程题实现、白名单赛事考题实现,感兴趣的请关注,我后续将继续分享相关内容

  • 11
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值