可达鸭模拟赛【2】补题报告S11708

前言:
           1.独木桥(bridge):0(60)

           2移动棋子(chess):0(50)

           3,动物园(zoo):0(10)

           4.摧毁(destroy):0

独木桥
题意:

长度为 L 米的独木桥上有 n 个人,他们每个人都想以最快的时间离开危险的独木桥。已知每个人在独木桥上的行走速度为 11 米 / 秒 ,每个人只要能走到独木桥的两个端点中的其中一个就可以离开独木桥。
由于独木桥的桥面宽度很窄,只能容纳一个人通过,当两个人相遇时,他们无法交错通过,只能各自调转方向,继续沿反方向行走。
给你独木桥上的人数 n ,独木桥的长度 L , 第 i 个人的初始位置到独木桥左端点的距离a​i​​ 米(每个人开始的朝向未知,但他们可以根据需要随时调转行走的方向)。
请计算出所有人同时出发,全部都离开独木桥所需的最短时间。

输入格式(输入文件为 bridge.in)

第一行一个整数 n ,表示人数。
第二行一个整数 L ,表示独木桥的长度(米)。
第三行是1a​1​​,2a​2​​ …a​n​​ ,其中 a​i​​ 表示第 i 个人初始位置到独木桥左端点 的距离。

输出格式(输出文件为 bridge.out)

输出一行一个整数,表示所有人都离开独木桥所需的最短时间。

考试回顾:
很快想到了思路,并写出了代码测试了多组样例都对了自测提交得了60分(数组长度少写一个零运行错误RE了不然我就A了)但是由于我的粗心把freopen写错了stdout写成了stdin所以得了零分

题解:


移动棋子
题意:

一维的棋盘上有无限多个格子,每个格子都有一个编号,最中间的格子编号为 00 ,00 号格子向右依次编号为 11,22,33,… ,向左依次编号为 −1−1, −2−2, −3−3,… 。
小明的目标是要将一枚棋子从 x 号格子移动到 y 号格子。
每一次操作有两种选择:
操作 11 :向右移动 11 个格子。
操作 22 :从当前棋子所在的 a 号格子,直接跳到 −−a 号格子(如:可以从 66 直接跳到 −6−6 ,也可以从 −6−6 直接跳到 66 )。
可以证明,无论整数 x 和 y 的值是多少,目标总是可以实现的。
请你设计程序,帮小明计算把棋子从 x 号格子移动到 y 号格子需要的最少操作次数。

输入格式(输入文件为 chess.in)

一行,两个整数 x 和 y , 表示要将棋子从 x 号格子移动到 y 号格子。

输出格式(输出文件为 chess.out)

一个整数,表示小明把棋子从 x 号格子移动到 y 号格子需要的最少操作次数。

输入样例 #1

考试回顾:这个题也想到了思路但是是只得50分的思路没用绝队值所以得不了100分但是由于我的粗心把freopen写错了stdout写成了stdin所以得了零分

题解:

动物园
题意:

某动物园里有n个场馆和m种动物)(m≤n)。

n个场馆的编号分别用 1,2,3,..,1,2,3,..,n 表示;m种动物的编号分别用 1,2,3,..,1,2,3,..,m 表示。每一个场馆中只饲养了一只动物,不同的场馆可能饲养着相同种类的动物。

这个动物园的门票比较特殊,游客在购买门票时必须说明要参观的场馆的起止编号a和b(起止编号会打印到游客购买的门票上),代表游客只能参观动物园的第a个场馆至第b个场馆(包含 a,b)里的动物,其他的场馆不能去。门票按一个场馆十元收费。

如果你购买的门票的起止场馆编号是 33 到 88,那么你需要花 6060 元钱购买门票,只能观看3,4,5,6,7,83,4,5,6,7,8 号场馆的动物。

小明希望看到动物园内所有种类的动物,同时小明是个非常节约的孩子,他希望花最少
的钱买门票。 请你帮小明计算:他最少需要花费多少钱买门票才能看到所有种类的动物(同
一种动物他可能不止看一个)。注意:小明只能买一张门票。

输入格式(输入文件为 zoo.in)

第一行两个整数 ,n,m,分别表示动物园内的场馆数量及动物种类数量。

第二行是 1,2,⋯,x​1​​,x​2​​,⋯,x​n​​,其中x​i​​表示第i个场馆中的动物种类编号。

输出格式(输出文件为 zoo.out)

一行一个整数p,表示小明的门票费用。

考试回顾:这个完全不会直接输出答案骗了10分但是由于我的粗心把freopen写错了stdout写成了stdin所以得了零分

题解

摧毁

题意

坐地日行八万里,巡天遥看一千河。

20772077年,人类不仅仅是赛博科技得到了发展,太空技术也已经得到了极大的发展。地球的不同外轨道上已经充斥着各种功能用途的人造卫星。因为一个轨道上的卫星数量是有上限的,且卫星更新换代速度很快,如果想要发射新的卫星,需要把所有旧的卫星摧毁。

人类有两种不同的武器可以摧毁卫星,具体如下(其中PW为新的能量单位):
(1)使用定点激光武器花费 1 PW 的代价摧毁任意轨道上指定的一个卫星。
(2)使用脉冲轨道武器花费 c PW 的代价把某一轨道上的所有卫星摧毁。

现在有n个旧卫星分布在不同的外轨道上,你的任务是摧毁这些旧卫星。给出这n个卫
星的轨道编号,求将这些卫星全部摧毁的最小代价是多少?

输入格式( 输入文件名为 destroy.in)

第一行一个正整数T,表示测试数据组数。

接下来对于每组测试数据(注意:每组测试数据有22行数据,以下共2∗2∗T行数据):

第一行两个正整数n和c表示需要摧毁的卫星数量和使用脉冲轨道武器的代价。

第二行 是1,2,⋯,x​1​​,x​2​​,⋯,x​n​​,其中x​i​​表示第i个卫星的轨道编号。

输出格式( 输出文件名为 destroy.out)

输出

T行答案,对于每组测试数据,输出一行一个整数表示摧毁所有卫星的代价。

考试回顾:这想到了思路但没想到实现方法最后也没有写出

正解:用桶排序

题解:

总结

本次考试态度有些差老师说了认真检查但我检查了10分钟没检查出来就在那在草稿纸上乱画了,freopen写错了而且我是复制的所以全错了要是认真检查我就有130分了虽然不是很高但也比零好而且这不是第一次了,上一次也是这个问题我还特意去问了老师。还是错了经过认真反思我以后要认真检查不再犯这个问题
 

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
                        
原文链接:https://blog.csdn.net/fengwenshuo/article/details/142682476

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值