⬆ 扫码加入竞赛交流群,入群反馈&抽奖&赛后赛题直播解析~
❗️关于蓝桥算法双周赛赛事调整的重要通知
⚠️无积分限制,任何用户均可参加。
对算法赛有任何的意见和建议,都可以填到表中哦👉算法赛问题收集表。
一、比赛时间
- 本场比赛为「蓝桥·算法双周赛」第二十八场蓝桥月赛。
- 本场比赛时间为 2025 年 04 月 19 日(星期六),下午 19:00 ~ 21:00,共 2 小时。
二、本场比赛信息
- 出题人:待定。
- 验题人:待定。
三、参赛奖励
* 为自然数。
*若 ,则计入上一周期。
抽奖代码
import random
class Gift:
"""
抽检类
"""
def __init__(self, user_count):
self.user_count = user_count
@staticmethod
def get_luck_body(start, end, count=2):
if start == end:
return [start]
luck_list = []
while len(luck_list) < count:
luck = random.randint(start, end)
if luck not in luck_list:
luck_list.append(luck)
return luck_list
def prize_draw(self):
"""
抽奖函数
"""
if self.user_count < 100:
print("抽奖人数不足100人")
return
# 4-10名,赛后直播随机抽取1人,¥100
luck_body = self.get_luck_body(4, 10, count=1)
print("第4∼10名,赛后直播随机抽取1人,¥100,中奖名单为:{luck_body}".format(luck_body=luck_body))
pre_section = [11, 100]
n = 1
while True:
section_start = 100 * pow(2, n - 1) + 1
section_end = min(100 * pow(2, n), self.user_count)
if pre_section[0] <= 100:
num_count = 4
reward_amount = 50
else:
num_count = 5
reward_amount = 20
# 如果这个周期不是满,就用这个周期的人数加上上个周期的人数去抽奖 结束循环
if section_end < 100 * pow(2, n):
section_start = pre_section[0]
luck_body = self.get_luck_body(section_start, section_end, count=num_count)
print(
"第{section_start}∼{section_end}名,每个区间,赛后直播随机抽取{num_count}名,每人¥{reward_amount},中奖名单为:{luck_body}".format(
section_end=section_end, section_start=section_start, num_count=num_count,
reward_amount=reward_amount, luck_body=luck_body))
break
# 如果这个周期是满的 则继续循环
else:
pre_section_start, pre_section_end = pre_section
luck_body = self.get_luck_body(pre_section_start, pre_section_end, count=num_count)
print(
"第{section_start}∼{section_end}名,每个区间,赛后直播随机抽取{num_count}名,每人¥{reward_amount},中奖名单为:{luck_body}".format(
section_end=pre_section_end, section_start=pre_section_start, num_count=num_count,
reward_amount=reward_amount, luck_body=luck_body))
pre_section = [section_start, section_end]
n += 1
if __name__ == '__main__':
user_count = input()
gift = Gift(int(user_count))
gift.prize_draw()
copy
四、赛后真题解析
- 比赛赛后将提供免费直播讲解,主讲人:待定。
- 时间:04 月 19 日(比赛当日)晚 21 时。
- 观看直播地址:http://live.bilibili.com/4798053
五、赛事交流
六、注意事项
- 本场比赛采用 ACM 赛制,答题时可自行选择语言,提交后即出成绩,统一评分不分组,自动生成全国、全省、全校排名。
- 本次比赛会计算等级分(可在个人中心查看),基础积分 1000 分,根据等级分计算方式,比赛结束后等级分会根据排名上下变动,请您知悉。
- 🚫严禁开小号/和他人分享答案以达成任何目的,或者直接套用非本人编写的代码。本次比赛将使用反作弊系统,因为任何原因被反作弊系统发现(包括多人套用同一个互联网公开的代码)、被举报或在抽查代码时发现选手有影响比赛成绩公平性的行为,视情节严重性给予取消成绩、警告性封禁或者封号的处罚。
- 如果发现比赛有原题或其他影响公平性的因素,请私聊学姐反馈,而不要以任何方式公开。
- 奖励在比赛结束后1个月内,发放给各位。
- 此活动最终解释权归蓝桥云课运营中心所有。
⬆ 私聊学姐反馈~