首页 > 编程语言 >第十四届蓝桥杯省赛研究生组python

第十四届蓝桥杯省赛研究生组python

时间:2024-04-08 20:23:35浏览次数:27  
标签:试题 python res 题解 list 蓝桥 time 省赛 memo

目录

试题A:工作时长

excel处理

  • 把数据复制到excel,并选中列右键选择设置单元格格式
  • 注意:因为求和之后总小时数可能会超过24小时,不要选择最前面是hh的,选择[h]:mm:ss可以用来显示小时数超过 24 小时的时间值。

  • 接着,在B2输入计算公式A2-A1,B4输入计算公式A4-A3,选中处理好的这四个往下拉,填充剩下所有数据

  • 在其他任意空白单元格设置好相同的格式,对B这一列求和,最后将得到的结果转换为秒为单位

  • 答案:5101913

代码

#先排序,然后转换为时间戳,后一个时间减去上一个时间,累计差值
from datetime import datetime
# 创建一个空列表,用于存储时间数据
time_list = []
# 使用with语句打开文件,确保文件在使用完后自动关闭
with open("records.txt", 'r') as fp:
    # 逐行读取文件数据
    for line in fp.readlines():
        # 去除每行数据的首尾空格和换行符
        line = line.strip()
        # 将时间字符串转换为datetime对象
        time_item = datetime.strptime(line, "%Y-%m-%d %H:%M:%S")
        # 将转换后的时间对象添加到列表中
        time_list.append(time_item)
# 对时间列表进行排序,以便按升序排列
time_list.sort()
# 初始化变量,用于存储计算结果
ans = 0
# 遍历索引序列,步长为2,从1开始到time_list的长度
for i in range(1, len(time_list), 2):
    # 计算相邻时间数据之间的时间差,并将时间差的秒数累加到ans中
    ans += (time_list[i] - time_list[i - 1]).seconds
# 打印计算结果
print(ans)
  • 答案:5101913

试题B:分糖果

详情见

试题C:填充

详情见

试题D:互质数的个数

题解:暴力

  • 获取a,b,计算a的b次幂记为c,遍历1到c,判断如果与c互质count++
import math
a,b=map(int,input().split())
c=a**b
count=0
for i in range(1,c):
    if math.gcd(i,c)==1:
        count+=1
print(count%998244353)
  • 27分

试题E:阶乘的和

题解:暴力+备忘录

def func(x,memo):
    if x in memo:#在计算前先查一下备忘录
        return memo[x]
    re=1
    for i in range(1,x+1):
        re*=i
    memo[x]=re#存入备忘录
    return re
n=int(input())
a=list((map(int,input().split())))
memo={}#定义备忘录
for i in range(len(a)):
    a[i]=func(a[i],memo)
x=sum(a)
#得到了所有元素阶乘和,遍历和求得是谁得阶乘
res=0
for i in range(1,x):
    if func(i,memo)==x:
        res=i
        break
print(res)
  • 5分

正确解答

试题F:公因数匹配

  • 思路:两个for循环遍历数组,如果两个指针对应的数存在公因数就把下标加入结果列表,对结果列表升序排序两次,输出第一个

题解:暴力

import math
n=int(input())
a=list(map(int,input().split()))
a.insert(0,0)#在a数组前面补0,下标统一后移1
res=[]
i=1
while i<len(a)-1:
    j=i+1
    while j<len(a):
        if math.gcd(a[i],a[j])>1:
            res.append([i,j])
        j+=1
    i+=1
res.sort(key=lambda x:x[0])
res.sort(key=lambda x:x[1])
if len(res) > 0:
    print(res[0][0],res[0][1])
  • 5分(受限python语言),换成C++可得45分

试题G:小蓝的旅行计划

题解


标签:试题,python,res,题解,list,蓝桥,time,省赛,memo
From: https://www.cnblogs.com/lushuang55/p/18120575

相关文章

  • 机器学习笔记 使用Python从头开始​​构建百万参数LLaMA
    一、LLaMA架构        LLaMA (Large Language Model Meta AI) 是一个基础语言模型的集合,参数范围从7B到65B,LLaMA并非专门为对话任务而设计的模型,而是专注于语言理解和生成。但是作为基础模型,LLaMA被设计为多功能的,可以应用于许多不同的用例,而不是为特定任务......
  • python基础语法
    注:本文中不含有环境配置与安装,创建工程等步骤。环境为python3.8、pycharm2020;python默认的编码格式是ASCII格式;需要使用#-*-coding:UTF-8才能读取中文。1、注释        采用 #(单行)或者三引号进行注释(多行)#单行注释'''Python中单引号'和双引号"使......
  • Python向文件里写入数据
    直接上代码name="测试"data=name.encode("utf-8")#w特点:文件不存在则创建文件并在打开前清空f=open("db.txt",mode="wb")f.write(data)f.close()可以在db.txt文件里看到一句话测试name="Testing"data=name.encode("utf-8&quo......
  • 原子核四极形变的 python 可视化
    把原子核当作液滴,讨论较小的形变,经过一系列处理,可以用公式处理:\[R=R_0\left\{1+\beta\sqrt{\frac{5}{16\pi}}(\cos\gamma(3\cos^2\theta-1)+\sqrt{3}\sin\gamma\sin^2\theta\cos2\phi)\right\}.\]importnumpyasnpimportmatplotlib.pyplotaspltfromscipyi......
  • 任务处理【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目-任务处理在某个项目中有多个任务(用tasks数组表示)需要您进行处理,其中tasks[i]=[si,ei],你可以在si<=day<=ei中的任意一天处理该任务。请返回你可以处理的最大任务数。注:一天可以完成一个任务的处理。输入描述:第一行为任务数量n,1<=n<=100000。后......
  • 跳马【华为OD机试】(JAVA&Python&C++&JS题解)
    一.题目马是象棋(包括中国象棋和国际象棋)中的棋子,走法是每步直一格再斜一格,即先横着或直着走一格,然后再斜着走一个对角线,可进可退,可越过河界,俗称“马走‘日’字。给顶m行n列的棋盘(网格图),棋盘上只有有棋子象棋中的棋子“马”,并且每个棋子有等级之分,等级为k的马可以跳1~k......
  • python高级脚本
    python高级脚本自动化测试脚本importunittestclassTestCalculator(unittest.TestCase):deftest_addition(self):self.assertEqual(2+2,4)deftest_subtraction(self):self.assertEqual(5-3,1)if__name__=="__main__":un......
  • 蓝桥杯赛前突击
    蓝桥杯赛前突击1.大纲精读官方只支持Dev-cpp5.11(和平时用的差不多)。C++11的使用,在Dev-cpp工具里面选择编译选项输入-std=c++11并选择编译时加入以下命令。是支持使用unordered_map和auto的,还有__int128。一定要记得return0;去年听说是没return0;......
  • Python元组tuple
    一、元组定义元组tuple像是一个列表list,它内部的值不可被修改。元组是一个有序的、不可变数据结构/类型列表->元组  加锁过程元组->列表  解锁过程列表和元组对比listtuple声明[]()索引YESYES切片YESYES追加元素YESNO修改元素YESNO删......
  • python获取指定视频分辨率并移动到相应的文件夹中-2
    importosimportshutilfrommoviepy.editorimportVideoFileClip#获取所有文件defgetAllFiles(fire_dir,houzui=".mp4"):filepath_list=[]forroot,folder_names,file_namesinos.walk(fire_dir):forfile_nameinfile_names:......