2021全国高校计算机能力挑战赛程序设计赛Python组区域赛(初赛)试题及部分个人解答

2020全国高校计算机能力挑战赛程序设计赛Python组区域赛(初赛)试题及参考解答

前言

我一整个人麻了,本来大题第一题很简单,结果一开始主办方把题目输出示例给打错了,浪费了我好多时间(可能这种bzg的比赛就是这样的吧…)

赛题&代码

1 投石饮水

在这里插入图片描述

分析

代码

m, n= map(int,input().split()) # m为容器底边边长,n为容器内水面距离瓶口的距离
StoneV = 0 # 通过投石子而“取代”的水的体积/投入的石子的总体积
num = 0 # 石子数量
S = m**2 # 容器底面积(正方形)
V = n*(m**2) # 填满容器需要的水的体积
while V-StoneV > 2*S:
    initV += 8
    num +=1
print(num)

2 学科竞赛

在这里插入图片描述
输入样例:
8 I
2021001 90 90 85 90 80 80
2021002 95 96 82 90 85 83
2021003 90 95 85 90 80 82
2021004 90 89 90 90 70 80
2022001 90 95 80 90 82 70
2022004 90 90 80 90 77 80
2022002 90 89 80 90 80 83
2022003 90 90 80 90 79 80
输出样例:
2101003

分析

代码

N, C= map(str,input().split())
listGrades = []
for i in range(N):
    tmp = input()
    listGrades.append((tmp.split()[0], tmp.split()[1], tmp.split()[2], tmp.split()[3], tmp.split()[4], tmp.split()[5], tmp.split()[6]))
pointList = []
for i in listGrades:
    if C == "B":
        pointList.append((i[0],int(i[2])+int(i[4])))
    elif C == "I":
        pointList.append((i[0],int(i[1])+int(i[2])))
    elif C == "H":
        pointList.append((i[0],int(i[5])+int(i[6])))
pointList.sort(key=lambda x:x[1],reverse=True)
for i in pointList:
    print(i[0], end='  ')

(待改进)

3 集合位置

在这里插入图片描述

分析

代码

4 产品质量抽查

在这里插入图片描述
输入样例:
10 2 6
101111
111111
111111
101010
111011
111110
111111
111110
111011
111111
输出样例:
12

分析

代码

  • 4
    点赞
  • 113
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

调参侠鱼尾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值