蓝桥杯-模拟

2023-10-27

  1. 星期一 - 611
import datetime

start = datetime.date(1901, 1, 1)
end = datetime.date(2000, 12, 31)
delta = datetime.timedelta(days=1)

s = 0
while start <= end:
    if start.weekday() == 0:
        s += 1
    start += delta

print(s)

# 看有几个星期
from datetime import *

dt1 = datetime(1901, 1, 1)
dt2 = datetime(2000, 12, 31)
delta = dt2 - dt1
print(delta.days//7)

python标准库-datetime

  1. 合法日期-541
import datetime

m = int(input()) # month
d = int(input()) # date

try:
    datetime.date(2021, m, d)
    print('yes')
except:
    print('no')
  1. 分数-610
top = 0
for i in range(20):
    top += 2**i

print(str(top)+'/'+str(2**19))
  1. 图像模糊-550
n, m = map(int, input().split()) # n行m列
pic = []
for i in range(n):
    a = list(map(int, input().split()))
    assert len(a) == m
    pic.append(a)
assert len(pic) == n
out = [[0]*m for _ in range(n)]

def avg(x, y):  # 坐标
    s, num = 0, 9
    l = [[0, 0], [-1, 0], [1, 0], [0, 1], [0, -1], [-1, -1], [-1, 1], [1, -1], [1, 1]]
    for i in range(9):
        if x + l[i][0] < 0 or x + l[i][0] >= n or y + l[i][1] < 0 or y + l[i][1] >= m:
            num -= 1
            continue
        s += pic[x+l[i][0]][y+l[i][1]]
    return int(s / num)

for i in range(n):
    for j in range(m):
        out[i][j] = str(avg(i, j))

for i in range(n):
    print(' '.join(out[i]))
  1. 扫雷-549
    和上一题很像。
n, m = map(int, input().split())
mp = []
for i in range(n):
    a = list(map(int, input().split()))
    assert len(a) == m
    mp.append(a)
assert len(mp) == n

def ct(x, y): # 坐标
    if mp[x][y] == 1:
        return 9
    else:
        s = 0
        l = [[1, 0], [-1, 0], [0, 1], [0, -1], [-1, -1], [-1, 1], [1, -1], [1, 1]]
        for i in range(8):
            if x+l[i][0] < 0 or x+l[i][0] >= n or y+l[i][1] < 0 or y+l[i][1] >= m:
                continue
            if mp[x+l[i][0]][y+l[i][1]] == 1:
                s += 1
        return s

out = [[0]*m for _ in range(n)]
for i in range(n):
    for j in range(m):
        out[i][j] = str(ct(i, j))

for i in range(n):
    print(' '.join(out[i]))
  1. 时间加法-548
a = int(input()) # a点
b = int(input()) # b分
t = int(input()) # t分钟后

a += (b+t)//60
b = (b+t)%60

print(a)
print(b)
  1. 最大间隙-543
n = int(input()) # length
l = list(map(int, input().split()))
assert len(l) == n

val = 0
for i in range(n-1):
    a = l[i+1]-l[i]
    val = max(val, a)

print(val)
  1. 成绩分析-497
n = int(input())
l = []
for i in range(n):
    a = int(input())
    l.append(a)
print(max(l))
print(min(l))
print("{:.2f}".format(sum(l)/n))

不可以用round():

>>> round(5/2, 2)
2.5
  1. 回文日期-498

  2. 绘制表格-290

N, M = map(int, input().split())  # N行M列
# start
print('┌'+'─┬'*(M-1)+'─┐')
vt = '│ '*M + '│'
md = '├' + '─┼'*(M-1) +'─┤'

for i in range(N-1):
    print(vt)
    print(md)
print(vt)

# end
print('└'+'─┴'*(M-1)+'─┘')
  1. 天干地支-1029
y = int(input())
tg = ['geng', 'xin', 'ren', 'gui', 'jia', 'yi', 'bing', 'ding', 'wu', 'ji']
dz = ['shen', 'you', 'xu', 'hai', 'zi', 'chou', 'yin', 'mao', 'chen', 'si', 'wu', 'wei']

print(tg[y%10], end='')
print(dz[y%12], end='')
  1. 字串分值和-1037
    贡献度:出现在多少个不同的子串中。
    参考
s = input()
n = len(s)
s = ' ' + s  # 占位
lst = [0]*(ord('z')+1)
ans = 0
for i in range(1, n+1):
    ans += (i-lst[ord(s[i])])*(n-i+1)
    lst[ord(s[i])] = i
print(ans)
  1. 子串分值-499
    都会超时,方法一40分,方法二80分

方法一:暴力法

s = input()
n = len(s)
ans = 0

for i in range(n):
    for j in range(1, n+1):
        sb = s[i:j]
        for k in sb:
            if sb.count(k) == 1:
                ans += 1
print(ans)

方法二:参考

s = input()
n = len(s)
pos = [list() for _ in range(ord('z')+1)]
for i in range(n):
    pos[ord(s[i])].append(i)

ans = 0
for i in range(n):
    nw = pos[ord(s[i])].index(i)
    # 如果s[i]的前面/后面没有相同的字母,pre=-1/ltt=n
    # 公式: (i-pre)*(ltt-i)
    if nw == 0:
        pre = -1
    else:
        pre = pos[ord(s[i])][nw-1]   
    if nw == len(pos[ord(s[i])])-1:
        ltt = n
    else:
        ltt = pos[ord(s[i])][nw+1]
        
    ans += (i-pre)*(ltt-i)

print(ans)
  1. 谁拿了最多奖学金-565
n = int(input())  # 学生总数
dt = []
for i in range(n):
    dt.append(input().split())
assert len(dt) == n
for i in range(n):
    dt[i][1], dt[i][2], dt[i][5] = int(dt[i][1]), int(dt[i][2]), int(dt[i][5])
otpt = [[dt[i][0]] for i in range(n)]
wh = 0
for i in range(n):
    s = 0
    if dt[i][1] > 80 and dt[i][5] >= 1:
        s += 8000
    if dt[i][1] > 85 and dt[i][2] > 80:
        s += 4000
    if dt[i][1] > 90:
        s += 2000
    if dt[i][1] > 85 and dt[i][4] == 'Y':
        s += 1000
    if dt[i][3] == 'Y' and dt[i][2] > 80:
        s += 850
    otpt[i].append(s)
    wh += s

otpt.sort(key=lambda x:x[1], reverse=True)
print(otpt[0][0])
print(otpt[0][1])
print(wh)
  1. Fibonacci 数列与黄金分割-200
    从n=20开始结果就不变了,所以用if else结构写出来,要不然会超时。
n = int(input())
a = 1
b = 1
if n <= 19:
    for i in range(n-1):
        a, b = b, a+b
    print("{:.8f}".format(a/b))
else:
    print(0.61803399)
  1. Playfair密码-286
    不算难,但是真的太烦了。
ms = input()
ws = input()
al = list('abcdefghijklmnopqrstuvwxyz')

# 方阵
for i in ms:
    al.remove(i)
psq = list(ms) + al
psq = psq[:-1]

# 把待加密字符串分组
if len(ws) % 2 == 0:
    lws = [0]*(len(ws)//2)
    for i in range(len(lws)):
        lws[i] = list(ws)[2*i:2*i+2]
else:
    lws = [0]*(len(ws)//2+1)
    for i in range(len(lws)-1):
        lws[i] = list(ws)[2*i:2*i+2]
    lws[-1] = ws[-1]

for i in range(len(lws)):
    try:
        id1 = psq.index(lws[i][0])
        id2 = psq.index(lws[i][1])
    except:
        pass
    if len(lws[i]) == 1 or lws[i] == lws[i][::-1] or lws[i][0] not in psq or lws[i][1] not in psq:
        lws[i] = lws[i]
    elif id1//5 == id2//5 or id1%5==id2%5:
        lws[i][0], lws[i][1] = lws[i][1], lws[i][0]
    else:
        if lws[i][1] > lws[i][0]:
            lws[i][1] = psq[id1+(id2//5-id1//5)*5]
            lws[i][0] = psq[id2-(id2//5-id1//5)*5]
        else:
            lws[i][0] = psq[id2+(id1//5-id2//5)*5]
            lws[i][1] = psq[id1-(id1//5-id2//5)*5]

for i in lws:
    print(''.join(i), end='')
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

蓝桥杯-模拟 的相关文章

  • 如何访问pandas数据框中的多级索引?

    我想用相同的索引来调用这些行 这是示例数据框 arrays np array bar bar baz baz foo foo qux qux np array one two one two one two one two df pd Da
  • Pygame读取MIDI输入

    我参考了Pygame MIDI 文档 https www pygame org docs ref midi html and 这段代码 https stackoverflow com questions 62983509 pygame mi
  • 在 Django 中定义视图和 url。为什么调用函数时不使用括号?

    我已经在经历 Python速成课程 目前正在进行 Django Web应用程序项目 学习日志 阶段 有些东西与我已经学到的相矛盾 views py file from django shortcuts import render def i
  • 将 pandas 数据框中的列减去其第一个值

    我需要将 pandas 数据帧的一列中的所有元素减去其第一个值 在这段代码中 pandas 抱怨 self inferred type 我猜这是循环引用 df Time df Time df Time 0 在这段代码中 pandas 抱怨为
  • 如何屏蔽 PyTorch 权重参数中的权重?

    我正在尝试在 PyTorch 中屏蔽 强制为零 特定权重值 我试图掩盖的权重是这样定义的def init class LSTM MASK nn Module def init self options inp dim super LSTM
  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • 如何更改充当按钮的范围的文本

    我正在为自定义 Web 应用程序编写自动化测试 我遇到了无法更改跨度文本的问题 我尝试过使用 driver execute script 但没有运气 如果我更好地了解 javascript 这确实会有帮助 据我所知 您无法单击跨度 并且列表
  • python ttk treeview:如何选择并设置焦点在一行上?

    我有一个 ttk Treeview 小部件 其中包含一些数据行 如何设置焦点并选择 突出显示 指定项目 tree focus set 什么也没做 tree selection set 0 抱怨 尽管小部件明显填充了超过零个项目 但未找到项目
  • 将 subprocess.Popen 的输出通过管道传输到文件

    我需要启动一些长时间运行的进程subprocess Popen 并希望拥有stdout and stderr从每个自动管道到单独的日志文件 每个进程将同时运行几分钟 我想要两个日志文件 stdout and stderr 每个进程当进程运行
  • VSCode pytest 测试发现失败

    Pytest 测试发现失败 用户界面指出 Test discovery error please check the configuration settings for the tests 输出窗口显示 Test Discovery fa
  • Python 中的这种赋值方式叫什么? a = b = 真

    我知道关于元组拆包 http docs python org tutorial datastructures html tuples and sequences但是当一行中有多个等号时 这个赋值被称为什么 阿拉a b True 它总是让我有
  • 在wxpython中使用wx.TextCtrl并在按钮单击后显示数据的简单示例 - wx新手

    我正在学习 python 并尝试使用 wxpython 进行 UI 开发 也没有 UI exp 我已经能够创建一个带有面板 按钮和文本输入框的框架 我希望能够在文本框中输入文本 并让程序在单击按钮后对输入框中的文本执行操作 我可以获得一些关
  • 我可以使用 dask 创建 multivariate_normal 矩阵吗?

    有点相关这个帖子 https stackoverflow com questions 52337612 random multivariate normal on a dask array 我正在尝试复制multivariate norma
  • ValueError:无法插入 ID,已存在

    我有这个数据 ID TIME 1 2 1 4 1 2 2 3 我想按以下方式对数据进行分组ID并计算每组的平均时间和规模 ID MEAN TIME COUNT 1 2 67 3 2 3 00 1 如果我运行此代码 则会收到错误 ValueE
  • Python Flask 是否定义了路由顺序?

    在我看来 我的设置类似于以下内容 app route test def test app route
  • python中的sys.stdin.fileno()是什么

    如果这是非常基本的或之前已经问过的 我很抱歉 我用谷歌搜索但找不到简单且令人满意的解释 我想知道什么sys stdin fileno is 我在代码中看到了它 但不明白它的作用 这是实际的代码块 fileno sys stdin filen
  • 是否可以写一个负的python类型注释

    这可能听起来不合理 但现在我需要否定类型注释 我的意思是这样的 an int Not Iterable a string Iterable 这是因为我为一个函数编写了一个重载 而 mypy 不理解我 我的功能看起来像这样 overload
  • PyQt 中的线程和信号问题

    我在 PyQt 中的线程之间进行通信时遇到一些问题 我使用信号在两个线程 发送者和监听者 之间进行通信 发送者发送消息 期望被监听者接收 但是 没有收到任何消息 谁能建议可能出了什么问题 我确信这一定很简单 但我已经环顾了几个小时但没有发现
  • 具有指定置信区间的 Seaborn 条形图

    我想在 Seaborn 条形图上绘制置信区间 但我已经计算出置信区间 如何让 Seaborn 绘制我的置信区间而不是尝试自行计算它们 例如 假设我有以下 pandas DataFrame x pd DataFrame Group 1 0 5
  • 使用 numpy 加速 for 循环

    下一个 for 循环如何使用 numpy 获得加速 我想这里可以使用一些奇特的索引技巧 但我不知道是哪一个 这里可以使用 einsum 吗 a 0 for i in range len b a numpy mean C d e f b i

随机推荐

  • [Qt] QString 和 String 字符串的相互转换

    QString gt String string str qstr toStdString String gt QString QString qstr QString fromStdString str
  • 微信支付本地调试

    经过折腾几天 找了一些资料来看 我不得不吐槽微信这个团队在做文档是如何槽糕 文档做的不好其次 接口那些总体而言 让人感觉很难受 而且给出的方案不是最优而是最麻烦的 和开发者互动很少 开放平台像是一个爱理不理的平台 这几天收集了一些问题记录一
  • 竞赛选题 基于机器视觉的银行卡识别系统 - opencv python

    1 前言 优质竞赛项目系列 今天要分享的是 基于深度学习的银行卡识别算法设计 该项目较为新颖 适合作为竞赛课题方向 学长非常推荐 更多资料 项目分享 https gitee com dancheng senior postgraduate
  • java canvas 动态画图_手把手教你用canvas画动态直线

    自己闲来无事的时候 就想学学热火了好久的H5 然后就看了下canvas 不看不知道 一看下一条 H5我以为没啥 原来都开始提供各种接口和函数了 我滴乖乖 canvas主要是用来画图的 结合定时器 setInterval 函数能够作出精美的动
  • (综述,讲得很好)基于3DMM的三维人脸重建技术总结

    深度学习全监督重建方法 由于真实的三维人脸和二维人脸图像对非常缺乏 采集成本高 很难得到真实二维三维图像对 通常将多张照片进行model fitting求解生成了对应的三维人脸模型 将其作为真值 Ground Truth 从而得到了二维三维
  • 【华为OD统一考试A卷

    华为OD统一考试A卷 B卷 新题库说明 2023年5月份 华为官方已经将的 2022 0223Q 1 2 3 4 统一修改为OD统一考试 A卷 和OD统一考试 B卷 你收到的链接上面会标注A卷还是B卷 请注意 根据反馈 目前大部分收到的都是
  • kubernetes的学习—部署 Dashboard

    部署 Dashboard Dashboard的介绍 Dashboard 仪表盘 是基于网页的 Kubernetes 用户界面 你可以使用 Dashboard 将容器应用部署到 Kubernetes 集群中 也可以对容器应用排错 还能管理集群
  • Java——第一个窗口程序

    代码演示 package Gui import java awt GUI的第一个界面 public class TestFrame public static void main String args Frame f1 new Frame
  • 加密网络空间安全厂商“观成科技”获数千万A轮融资,方广资本领投

    近日 观成科技宣布完成数千万A轮融资 方广资本领投 老股东奇安投资跟投 进化资本担任财务顾问 此次融资将主要用于进一步加大研发和技术研究的投入 持续提升产品的竞争力和服务能力 观成科技是一家致力于以守护加密网络空间安全为使命 以加密流量检测
  • Windows下Java实现语音播放

    链接 https pan baidu com s 1BhXGCBSifLxCLDsZ Q8Rpw 提取码 dgbg 64位操作系统 下载jocab 放入jdk安装目录bin目录下 Maven依赖
  • Linux上安装tenginx

    1 下载tengine http tengine taobao org download cn html 2 将文件上传到 opt tengine的目录上 tengine目录是自定义目录 3 解压包 并进入解压后的文件目录下 4 编译环境准
  • Vue弹窗 Confirm 组件

    Vue的弹窗组价 描述 有时候自己开发项目 需要使用到一些弹窗 提示框之类的东西 一般会有我们自己使用一些UI组件库 或者自己手写一个 哈哈 用别人的东西有时候挺好的 但是有时候又不好 因为业务的需求和UI的设计总是变化的很快 别人的东西难
  • 分布式系统架构网络之IDC机房

    我们开发的互联网应用被部署到IDC机房里的某个服务器上 从而完成了应用互联网的接入 所以我们接下来学习一些IDC机房的相关知识 IDC机房又被称为互联网数据中心 Internet Data Center 或者数据中心 IDC不仅是数据存储的
  • 对c语言for循环的理解

    for i lt 0 i lt 5 i 如果一直符合条件 i lt 5 那么循环到最后i 5 否则i lt 5 可根据 i 的值判断循环体是否一直满足某个条件 如下一个简单例子 判断数组是否存在某个元素 include
  • 安装 webstorm 断点调试工具 jetbrains ide support

    先下载离线插件包 http www cnplugins com devtool jetbrains ide support download html 并解压 然后进入google设置 选择开发者模式 加载扩展程序 最后如图
  • Qt 使用布局管理器,控件大小未能自适应变化

    问题 使用布局管理器管理子部件 使用了QVHlayout管理器 发现控件大小固定 即使通过拖动窗口也不能改变控件的大小 布局管理器不是自动控制部件的大小吗 为什么没有生效 如图所示 解决办法 对子部件添加延申策略 setSizePolicy
  • 图解通信原理与案例分析-26: 5G NR是如何支持海量机器类通信mMTC的?移动通信对物联网的支持

    前言 移动通信最初是解决人与人之间的语音通信 后来发展成了人与人之间的文本通信 到了4G LTE 已经很好的解决了人与人之间的视频通信 到了5G 人与人之间的高速率的数据通信在LTE的基础之上得到了进一步优化和加强 称之为eMBB eMBB
  • ffmpeg使用qsv解码碰到的问题

    ffmpeg使用qsv硬解码出来的视频帧格式是AV PIX FMT NV12格式的 ffmpeg使用qsv硬解码出来的视频帧格式是AV PIX FMT NV12格式的 在调用sws getContext函数时第三个参数必须强制传入AV PI
  • Ubuntu 22.04编译安装Redis 7

    Ubuntu 22 04编译安装Redis 7 一 下载 1 访问Redis官方网站 https redis io 点击顶部菜单栏右侧的 Download 进入下载页面 2 在下载页面的左侧可以看到Redis相关信息 右键单击 Downlo
  • 蓝桥杯-模拟

    星期一 611 import datetime start datetime date 1901 1 1 end datetime date 2000 12 31 delta datetime timedelta days 1 s 0 wh