蓝桥杯2022 python C组

2023-10-28

蓝桥杯2022 python C组

跟之前的就四题不一样

第二题:特殊时间

在这里插入图片描述
就是i 从0-9,j从0-9 i是三个一样的,然后看看他们能不能成为 年 月日 时分
成为年只要大于0就好了,称为月日的话月要从1-12,日呢,特殊的日子就二月2829,但是如果你是2月28 29 的话前面那个就比如是22月,肯定不可能,所以不用考虑,最大也就2月22 ,还有31号,要31号的话只能是11月,但是11月没有31号,因此我们日子只要<31 就符合要求了

## 对于每三个数据和另一个数据我们为一个组合,例如1110为一个组合,找这个组合可以有多少种情况
## 把年  月日  时分 分开来讨论
numbers = [-1]*4
res = 0
for i in range(10):  # 三个一样的
    for j in range(10):
        y,m,hs = 0,0,0  # 计每个有多少种可能
        if i == j : continue
        for k in range(4):
            numbers[k] = j
            numbers[(k+1)%4] = numbers[(k+2)%4] = numbers[(k+3)%4] = i # 每种排列都求一次
            year = numbers[0]*1000 + numbers[1] * 100 + numbers[2] * 10+numbers[3] 
            months = hours = numbers[0]*10+numbers[1]
            day = minute = numbers[2]*10+numbers[3]

            if year > 0 : y += 1
            if months > 0 and months < 13 and day > 0 and day < 31:m += 1
            if hours > 0 and hours < 25 and minute >0 and minute < 60:hs += 1
        res += y*m*hs
print(res)

第七题:GCD

在这里插入图片描述

这题是试着找规律找出来的。。你如果先遍历小的然后去试你会发现

100 21 在题目中的最大公约数是79 k = 58
101 21 在题目中的最大公约数是80 k = 59
100 79 在题目中的最大公约数是21 k = 5
101 79 在题目中的最大公约数是 22 k = 9

你会发现,如果最大公约数在min(a,b)和max(a,b)之间,那么k = 最大公约数-min(a,b)。这个时候我就感觉肯定是有规律的。然后我就想下面那种情况,当最大公约数 <min(a,b)的时候,你会发现 100 + 5 = 215 101+9 = 225。发现,哦,就是找到一个最小t 使得t最大公约数 > max(a,b),然后k = t最大公约数-max(a,b)
# gcd(a+k,b+k) 最大值为 abs(a-b)
# 当 max1 < min(a,b)时,k 为 max1*t > max(a,b) 的最小值t,然后k的值为 t*max1 - max(a,b)
# 当 min(a,b) < max1 < max(a,b)时, k = max1 - min(a,b) 

if __name__ == '__main__':
    a,b = map(int,input().split())
    max1 = abs(a-b)
    if a == max1 or b == max1 : print(0)
    elif max1 < min(a,b) :
        k = max(a,b)//max1 + 1
        print(k*max1 - max(a,b))
    else: print(max1 - min(a,b))

第八题:青蛙过河

在这里插入图片描述

先想一下其实过去和回来是一样的,要考虑回来的其实也可以考虑成过去的,因为怎么过去我们就怎么回来。所以我们只要想象成有2x个青蛙一起过河就好了。

那么想要2x个青蛙一起过河,要满足什么条件呢?设青蛙每次最多跳跃y个,我们要从第i个石头到第i+y个石头的承重之和要>= 2*x,这样才能保证青蛙每次跳跃都可以成功。然后用二分查找就好了
## 想象成有2x个青蛙过河 
## 如果青蛙跳跃的最大能力是y ,那么代表石头从 i 到 i+y的前缀和应该大于等于 2*x
## 可以假设一下,如果有两只青蛙,最大跳跃能力是2 ,那么,a[1] + a[2]  = 2 表示他们两个一定可以跳到前两个石头上面
## 然后有 a[2] + a[3] = 2 那么在石头1上的青蛙就可以跳到石头3,a[3]+a[4] = 2,石头2上的青蛙就可以跳到石头4或者石头3,
## 如果都在石头3,那么又有a[4]+a[5] >= 2 他们两个又可以跳到石头4和石头5,依次类推跳到对岸
def check(mid):
    for i in range(1,n - mid +1):  # i + mid <= n
        if (b[i + mid - 1] - b[i-1] < 2*m): return False
    else: return True

if __name__ == '__main__':
    n,m = map(int,input().split()) # 宽度、能力
    a = [int(x) for x in input().split()]
    a = [10000]+a+[10000]  # 首尾是岸上承受能力设很大
    b = [0]*(n+1)
    b[0] = a[0] 
    for i in range(1,n+1):
        b[i] = b[i-1] + a[i]  # 前缀和
    ## 二分查找
    l,r = 1,n
    while l < r:
        mid = (l + r)//2
        if (check(mid)):
            r = mid 
        else : l = mid + 1
    print(l)

第九题:因数平方和

在这里插入图片描述

考虑一下,从1 到n ,i的平方和会被乘以n//i次,那么就很简单了
## 从1到n  i作为因子的个数为 n/i向下取整

if __name__ == '__main__':
    MOD  = 1000000007
    n = int(input())
    res = 0
    for i in range(1,n+1):
        k = n//i
        res += i*i*k % MOD
        res %= MOD
    print(res)
PS:不知道能不能过全部样例哈,应该可以优化一下,遍历到根号n就行
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯2022 python C组 的相关文章

随机推荐

  • pclint入门

    1 安装 将压缩包比如pclint8 zip拷贝到c 解压后重命名目录为c pclint 版本 Q 如何查看版本 A 见readme txt PC lint for C C Version 8 00e 2 开始使用 2 1 不用任何配置 直
  • 第十二章:使用C语言(Python语言)操作Sqlserver2019数据库

    目录 一 连接数据库的准备工作 二 使用 ODBC 连接数据库 1 ODBC 数据源简介 2 配置 ODBC 数据库源 3 连接数据库函数 4 C 语言通过 ODBC 操作数据库 三 非 ODBC 方式操作数据库 3 1 删除 修改 插入数
  • java 僵尸进程_僵尸进程ZOMBIE

    僵尸进程是指它的父进程已经退出 父进程没有等待 调用wait waitpid 它 而该进程dead之后没有进程接受 就成为僵尸进程 也就是 zombie 进程 一个进程在调用exit命令结束自己的生命的时候 其实它并没有真正的被销毁 而是留
  • 梦幻服务器系统维护后多久再登录,梦幻西游:系统维护后出现重大漏洞,官方发文紧急停机修复?...

    原标题 梦幻西游 系统维护后出现重大漏洞 官方发文紧急停机修复 精彩游戏 快乐无穷无尽 这里是梦幻西游资讯集中营 每天为你分享不一样的游戏乐趣 大家好 我是梦幻小九 当今社会网络游戏成千上万个 相信每一款网络游戏都会偶尔出现系统漏洞 梦幻西
  • 西门子PLC300系列与上位机无法建立以太网通信问题

    问题描述 最近做一个Java开发的WCS项目需要对接机械臂 使用的是PLC313型号 按照之前和其他型号PLC例如1200系列或者1500系列对接的经验配置好相关IP DB块以及数据结构偏移量以后发现无法建立连接 刚开始以为是使用是git上
  • keil编译运行错误,缺少error:#5:#includecore_cm3.h_过路老熊_新浪博客

    keil编译运行错误 提示缺少某个文件等等 如缺少error 5 include core cm3 h 用Keil vision5编译时出现以下错误 error 5 cannot open source input file core cm
  • Java EE 企业级应用 复习 初识Spring框架

    Spring概述 Spring是由Rod Johnson组织开发的一个分层的Java SE EE一站式轻量级开源框架 它最核心的理念是控制反转和面向切面编程 Spring框架的优点 非倾入式设计 降低耦合性 方便开发 支持AOP编程 支持声
  • Linux之Centos7.6版本下载及安装Go语言环境配置,安装Go1.18版本教程笔记-2023版

    文章目录 一 Linux下安装Go环境 1 远程获取 2 解压 3 添加环境变量 5 Go环境配置图 配置完成信息图 二 VsCode连接我们Go 2 1安装对应的插件 2 2进行连接 3 相关配置 4 成功连接 一 Linux下安装Go环
  • 视频在H5页面在微信浏览器不能自动播放问题

    引用官方的JS文件 正式方法 function BGMAutoPlayMgr url this audioContext new window AudioContext window webkitAudioContext window mo
  • 2020那些搭载Imagination IP的设备(国内篇)

    除海外市场外 2020年国内不少智能新品上市 并通过搭载ImaginationGPU 和 NNA IP 实现了更加明显的市场差异化 基于紫光展锐虎贲T7510 平台国内多款 5G 手机上市 智能手机市场 5G AI 无疑成为下一代手机的焦点
  • Unity调用Android类方法

    1 添加Unity的classes jar文件 创建一个Android工程AndroidUnityDemo 由于Unity的版本不同 直接在Unity安装包文件夹里面搜索classes jar文件 如果有多个classes jar文件 一般
  • SpringData JPA 提示:TransactionRequiredException: Executing an update/delete query

    问题场景 package com zzg dao import javax transaction Transactional import org springframework data jpa repository JpaReposi
  • [MySQL]实训七

    实训目的 设置字段的默认值约束 设置字段的自动增长约束 设置字段的外键约束 有关上述三种约束的概念在上一篇文章中有提及 http t csdn cn 9rV9T 1 在数据库db school中重新定义表tb student 要求以表级完整
  • 4. TypeScript 类

    TypeScript 类 1 TS中定义类 class Pointer x number 实例上的属性必须先声明 y number constructor x number y number args number this x x thi
  • 关于研一Python基础课程第四周课后习题的几点理解(含一个问题的订正)

    1 第八题一个函数的订正 def output prime number for i in range number 1 if is prime i True print i end 这里原文的代码是for i in range numbe
  • VS 配置Qt 开发组件

    VS 配置Qt 步骤比较简单 入门级吧 按照如下几步即可快速配置 希望可以帮到你 一 安装VS Qt组件 1 方法一 扩展 gt 管理扩展 gt 联机 搜素Qt Visual Studio Tools 工具 自动下载完成 按照向导提示正常安
  • 深入解析JS工程逆中的反爬机制

    在当今互联网时代 爬虫技术被广泛应用于数据采集 搜索引擎优化等领域 然而 许多网站为了保护其数据和资源 采取了各种反爬机制 JS逆工程是其中一种常见的反爬手段 通过在网页中利用JavaScript代码动态生成内容 使得爬虫难以获取有效数据
  • ansible批量自动安装LNMP

    转载于 https www cnblogs com hai better p 9995258 html
  • 算法[动态规划]---买卖股票最佳时机

    1 题目 给你一个整数数组 prices 其中 prices i 表示某支股票第 i 天的价格 在每一天 你可以决定是否购买和 或出售股票 你在任何时候最多只能持一股股票 你也可以先购买 然后在同一天出售 返回你能获得的最大利润 2 分析特
  • 蓝桥杯2022 python C组

    蓝桥杯2022 python C组 跟之前的就四题不一样 第二题 特殊时间 就是i 从0 9 j从0 9 i是三个一样的 然后看看他们能不能成为 年 月日 时分 成为年只要大于0就好了 称为月日的话月要从1 12 日呢 特殊的日子就二月28