首页 > 其他分享 >第十四届蓝桥杯省赛A组

第十四届蓝桥杯省赛A组

时间:2024-04-07 20:33:56浏览次数:24  
标签:cnt 遍历 试题 31 range st 蓝桥 第十四届 省赛

目录

试题A:特殊日期

题解

mon = [0,31,28,31,30,31,30,31,31,30,31,30,31]
def run(x):  #判断是否为闰年
    if x%400==0 or (x%4==0 and x%100!=0):
        return True
    return False
res = 0
for year in range(2000,2000000):
    if run(year):#如果是闰年,2月有29天
        mon[2]=29
    else:
        mon[2]=28
    for mm in range(1,13):#1月到12月
        for dd in range(1,mon[mm]+1):#从1号到这个月的最后一天
            if year%mm==0 and year%dd==0:
                res += 1
print(res+1)  #前面只迭代到了1999999年12月31日,最后2000000年1月1日也是一个答案
  • 答案:35813063

试题B:分糖果

详情见

试题C:三国游戏

详情见

试题D:平均

详情见

试题E:翻转

详情见

试题F:子矩阵

题解:暴力

# 读取输入
n, m, a, b = map(int, input().split())
# 创建二维矩阵并读取输入
g = [[0] * (m + 1) for _ in range(n + 1)]
for i in range(1, n + 1):
    g[i][1:] = map(int, input().split())
# 模数和无穷大定义
MOD = 998244353
INF = int(2e9)
# 初始化结果
ans = 0
# 遍历每个子矩阵的起始点
for i in range(1, n + 1):
    for j in range(1, m + 1):
        # 如果子矩阵的结束点超出了矩阵范围,则跳过
        if i + a - 1 > n or j + b - 1 > m:
            continue
        # 初始化最大值和最小值
        mn, mx = INF, 0
        # 遍历子矩阵的每个元素
        for x in range(i, i + a):
            for y in range(j, j + b):
                # 更新最小值和最大值
                mn = min(mn, g[x][y])
                mx = max(mx, g[x][y])
        # 将最大值和最小值的乘积累加到结果中,并取模
        ans = (ans + mx * mn) % MOD
# 输出结果
print(ans)
  • 45分

试题G:阶乘的和

题解

n = int(input())  # 获取输入的元素个数
a = list(map(int, input().split()))  # 获取输入的元素列表,并转换为整数类型
a.sort()  # 对元素列表进行排序
st, i, cnt = a[0], 0, 0  # 初始化变量st为最小元素,i为索引,cnt为计数器
while i < n:  # 外层循环,遍历元素列表
    while i < n and a[i] == st:  # 内层循环,统计当前元素st的计数
        cnt += 1  # 计数器加1
        i += 1  # 索引加1,继续遍历下一个元素
    if cnt and cnt % (st + 1) == 0:  # 如果计数不为0且计数是(st+1)的倍数
        cnt, st = cnt // (st + 1), st + 1  # 更新计数和最小元素
        if i == n:  # 如果遍历完所有元素
            while cnt and cnt % (st + 1) == 0:  # 继续判断计数是否满足条件
                cnt, st = cnt // (st + 1), st + 1  # 更新计数和最小元素
    else:
        break  # 如果计数不满足条件,或者在遍历完元素之前遇到不符合条件的情况,跳出循环
print(st)  # 输出最小元素st,即为符合条件的结果

试题H:奇怪的数

思路:在长度为n的数中筛选出奇数位为奇数,偶为偶的数;遍历这些数,如果每位求和不大于m,count++,最后输出count
如果遍历筛肯定会爆时间,较好的办法是构建一棵树,每一层的值是可选的奇数或者偶数,只需要遍历这棵树就可以拿到所有值

  • 正解:数位dp
  • 未理解,可参考下文解答
    解答

标签:cnt,遍历,试题,31,range,st,蓝桥,第十四届,省赛
From: https://www.cnblogs.com/lushuang55/p/18114239

相关文章

  • Acwing2024蓝桥杯递归
    模板:欧几里得算法//若a,b互质则返回1,否则返回0intgcd(inta,intb){returnb?gcd(b,a%b):a;}题目:AcWing1360.有序分数暴力模拟法(AC):#include<iostream>#include<algorithm>#definexfirst#defineysecondusingnamespacestd;intn;typed......
  • 第十四届蓝桥杯省赛大学B组填空题(c++)
    日期统计:暴力枚举+set(自带排序加去重)#include<iostream>#include<set>usingnamespacestd;set<int>ans;inta[100]={5,6,8,6,9,1,6,1,2,4,9,1,9,8,2,3,6,4,7,7,5,9,5,0,3,8,7,5,8,1,5,8,6,1,8,3,0,3,7,9,2,7,0,5,8,......
  • P8600 [蓝桥杯 2013 省 B] 连号区间数 and CF526F
    问题转化很容易就能把原问题转化成:求满足Max-Min=r-l的区间个数暴力解法根据上面得到的性质,我们可以暴力枚举区间,来判断当前区间是否满足性质#include<iostream>#include<stdio.h>#include<algorithm>#include<string>#include<cmath>#include<string.h>#def......
  • 蓝桥杯 历届真题 杨辉三角形【第十二届】【省赛】【C组】
    资源限制内存限制:256.0MB C/C++时间限制:1.0s Java时间限制:3.0s Python时间限制:5.0s思路:    由于我第一写没考虑到大数据的原因,直接判断导致只得了40分,下面是我的代码:#include<bits/stdc++.h>#defineintlonglongusingnamespacestd;constintN......
  • 第十四届蓝桥杯省赛B组
    目录试题A:2023题解正确题解试题B:硬币兑换试题C:松散子序列题解:动态规划试题D:管道题解:二分+区间合并试题E:保险箱试题A:2023题解a='2023'cnt,i,k=0,0,0forjinrange(12345678,98765433):whilei<len(a):whilek<8:ifa[i]==str(j)[k]:......
  • 并查集——蓝桥杯备赛【python】
    一、合根植物试题链接:[蓝桥杯2017国C]合根植物问题描述星球的一个种植园,被分成m×n个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。如果我们告诉你哪些小......
  • 差分和前缀和——蓝桥杯备赛
    一、大学里的树木要打药问题描述教室外有N棵树,根据不同的位置和树种,学校要对其上不同的药。因为树的排列成线性,且非常长,我们可以将它们看作一条直线给他们编号。树的编号从0∼N−1且N<1e6。对于树的药是成区间分布,比如3∼5号的树靠近下水道,所以他们要用驱蚊虫的药,20......
  • 蓝桥杯,省赛,动态规划专题,青蛙,更小的数,松散子序列,接龙数列
    #include<bits/stdc++.h>usingnamespacestd;constintN=1e5+9;doublex[N],a[N],b[N];doubledp[N][5];intmain(){intn;cin>>n;for(inti=1;i<=n;i++)cin>>x[i];for(inti=1;i<=n-1;i++)cin>>a[i]>>b[i......
  • 蓝桥杯嵌入式2017年第八届省赛主观题解析
    1 题目2  代码/*USERCODEENDHeader*//*Includes------------------------------------------------------------------*/#include"main.h"#include"rtc.h"#include"tim.h"#include"gpio.h"/*Privateincludes--......
  • [蓝桥杯 2022 国 B] 齿轮(优化枚举)
        根据题目描述,如果采用dfs暴力做法枚举所有方案,肯定会超时,因此我们需要优化枚举,我们都知道在同一组共同转动的齿轮中,线速度相等,因此角速度的比值就是半径的反比,因此我们只需要找到对于每个齿轮作为起始齿轮,只需要找到其倍数半径是否存在即可,而倍数上限就是假设存在......