总的来说,比练习赛还简单。。。。。
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)
本文提供了一系列编程竞赛题目的解答方案,包括简单的成绩计算、报告评分规则、竞争得分算法等,使用Python语言实现,涉及基本输入输出、条件判断、列表操作及质数判断等知识点。
3689

被折叠的 条评论
为什么被折叠?



