第四届传智杯(初赛B组) | python题解思路

本文提供了一系列编程竞赛题目的解答方案,包括简单的成绩计算、报告评分规则、竞争得分算法等,使用Python语言实现,涉及基本输入输出、条件判断、列表操作及质数判断等知识点。
部署运行你感兴趣的模型镜像

总的来说,比练习赛还简单。。。。。
python运行时间排名不占优势

A 组原成绩

在这里插入图片描述
题解:

t,h,e = map(int,input().split())

grade = t*0.2 + h*0.3 + e *0.5
print(int(grade))

B 报告赋分

在这里插入图片描述
题解

n = int(input())
list_ = []
score = []
grade = 0
for i in range(n):
    a,p = map(int,input().split())
    list_.append([a,p])
# i[0]是基础分  i[1]是页数
for i in list_:
    if i[1] < 16:
        if i[0] - 10 < 0:
            grade = 0
        else:
            grade = i[0] - 10
    if i[1] > 20:
        grade = i[0] - (i[1]-20)
        if grade < 0:
            grade = 0
    if i[1]>=16 and i[1]<=20:
        grade = i[0]

    print(grade)

C 竞争得分

在这里插入图片描述

n = int(input())
a_list = list(map(int,input().split()))
min_a = min(a_list)
max_a = max(a_list)

for a in a_list:
    grade = 100 * (a-min_a)/(max_a-min_a)
    print(int(grade),end=' ')

D 小卡与质数2

在这里插入图片描述

n = int(input())
num_list = []
for i in range(n):
    num_list.append(int(input()))

def isPrime3(n):
    if n==2:
        return True
    if n%2 == 0 or n==1:
        return False
    # 只判断奇数,范围缩小一半
    for i in range(3, int(n**0.5)+1, 2):
        if n%i == 0:
            return False
    return True

for i in num_list:
    count = 0
    n = 0
    while n<i:
        num = i^n
        if isPrime3(num):
            count+=1
        n+=1
    print(count)

E 萝卜数据库

在这里插入图片描述

# n次操作  k个字段
n,k = map(int,input().split())
list_ = []
for i in range(n):
    list_.append(list(map(int,input().split())))

# 建表
dict_ = {}
for i in range(1,k+1):
    dict_[i] = []

for i in range(len(list_)):
    # 查询初值为0
    count = 0
    list_2 = list_[i][2:]

    # 这是一个插入操作
    if list_[i][0] == 1:
        for j in range(len(list_2)):
            if j%2 == 0:
                dict_[list_2[j]].append(list_2[j+1])

    #这是一个查询操作
    if list_[i][0] == 2:
        min_y = list_[i][2]
        max_y = list_[i][3]
        for value in dict_[list_[i][1]]:
            if value>=min_y and value<=max_y:
                count+=1
        print(count)

您可能感兴趣的与本文相关的镜像

Python3.10

Python3.10

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

lijiamingccc

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

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

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

打赏作者

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

抵扣说明:

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

余额充值