牛客小白月赛41 python 题解

A. 小红的签到题

Solution

数据范围很小,枚举ak的人数即可。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49823462

B. 小红的ABC

Solution

数据范围很小,枚举长度和起点,python可以直接截取一段长度 s[l:r], 反着截取是 s[l:r:-1],直接判断是否相等即可。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49823499

C. 小红的口罩

Solution

维护一个优先队列,每次取权值最小的口罩,判断会不会超出即可,这里要注意 python 优先队列的写法。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49823742

D. 小红的数组

Solution

排序后二分,找最小的乘积大于k的位置,最大的乘积小于k的位置,他们中间就是乘积等于k的。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49834298

E. 小红的rpg游戏

Solution

简单 bfs,注意 python 的 vis = [0 * m] * n 是浅拷贝,每一列的内存是一样的,会同时改变。 所以要用vis = [0 for i in range(m)] for i in range(n) 初始化二维数组。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49832728

F. 小红的375

Solution

打表不难发现后三位周期为8,后三位只会是 000、375、750、125、500、875、250、625 然后前面的数字周期为3,即(0,3,6,9)000、(0,3,6,9)375、(0,3,6,9)750、(1, 4, 7)125、(1, 4, 7)500、(1, 4, 7)875、(2, 5, 8)250、(2, 5, 8)625。所以我们模拟一下就行了,注意处理 n1000n \leq 1000 的情况,此时只有重组成375,750的情况。

Code

https://ac.nowcoder.com/acm/contest/view-submission?submissionId=49835978

一些比赛的题解 文章被收录于专栏

一些比赛的题解

全部评论

相关推荐

藏剑天涯:全要了 领4份工资
点赞 评论 收藏
分享
10-24 11:10
山西大学 Java
若梦难了:哥们,面试挂是很正常的。我大中厂终面挂,加起来快10次了,继续努力吧。
点赞 评论 收藏
分享
1 1 评论
分享
牛客网
牛客企业服务