第十五届蓝桥杯模拟赛(第一期)Python

这篇具有很好参考价值的文章主要介绍了第十五届蓝桥杯模拟赛(第一期)Python。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

创作不易,欢迎小伙伴们关注、点赞+收藏!

填空题

问题描述

  请找到一个大于 2022 的最小数,这个数转换成十六进制之后,所有的数位(不含前导 0)都为字母(A 到 F)。
  请将这个数的十进制形式作为答案提交。

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

给出计算的Python代码:

current_year = 2023

# 找到大于 2022 的最小数,使得其十六进制表示中所有数位都是字母
while True:
    current_year += 1
    hex_representation = hex(current_year)[2:].upper()  # 转换为十六进制并去掉前缀0x,然后转换为大写
    if all(char.isalpha() for char in hex_representation):  # 检查是否所有字符都是字母
        break

# 输出结果
print(current_year)

答案:2730

问题描述

  在 Excel 中,列的名称使用英文字母的组合。前 26 列用一个字母,依次为 A 到 Z,接下来 26*26 列使用两个字母的组合,依次为 AA 到 ZZ。
  请问第 2022 列的名称是什么?

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个由大写字母组成的字符串,在提交答案时只填写这个字符串,填写多余的内容将无法得分。

给出计算的Python代码:

def get_excel_column_name(column_number):
    result = ''
    while column_number > 0:
        column_number, remainder = divmod(column_number - 1, 26)
        result = chr(65 + remainder) + result  # 65 是字符 'A' 的 ASCII 值
    return result

# 获取第 2022 列的名称
column_2022_name = get_excel_column_name(2022)

# 输出结果
print(column_2022_name)

答案:BYT

问题描述

  对于一个日期,我们可以计算出年份的各个数位上的数字之和,也可以分别计算月和日的各位数字之和。请问从 1900 年 1 月 1 日至 9999 年 12 月 31 日,总共有多少天,年份的数位数字之和等于月的数位数字之和加日的数位数字之和。
  例如,2022年11月13日满足要求,因为 2+0+2+2=(1+1)+(1+3) 。
  请提交满足条件的日期的总数量。

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

给出计算的Python代码:

def get_digit_sum(n):
    # 计算一个数字的各位数字之和
    digit_sum = 0
    while n > 0:
        digit_sum += n % 10
        n //= 10
    return digit_sum

def count_dates():
    count = 0
    for year in range(1900, 10000):
        for month in range(1, 13):
            days_in_month = 31
            if month == 2:
                if (year % 4 == 0 and year % 100 != 0) or year % 400 == 0:
                    days_in_month = 29
                else:
                    days_in_month = 28
            elif month in [4, 6, 9, 11]:
                days_in_month = 30
            for day in range(1, days_in_month + 1):
                year_sum = get_digit_sum(year)
                month_sum = get_digit_sum(month)
                day_sum = get_digit_sum(day)
                if year_sum == month_sum + day_sum:
                    count += 1
    return count

# 统计满足条件的日期数量
num_dates = count_dates()

# 输出结果
print(num_dates)

答案:70910

问题描述

  小蓝有 30 个数,分别为:99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77 。
  小蓝可以在这些数中取出两个序号不同的数,共有 30*29/2=435 种取法。
  请问这 435 种取法中,有多少种取法取出的两个数的乘积大于等于 2022 。

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

给出计算的Python代码:

numbers = [99, 22, 51, 63, 72, 61, 20, 88, 40, 21, 63, 30, 11, 18, 99, 12, 93, 16, 7, 53, 64, 9, 28, 84, 34, 96, 52, 82, 51, 77]

count = 0

for i in range(len(numbers)):
    for j in range(i + 1, len(numbers)):
        product = numbers[i] * numbers[j]
        if product >= 2022:
            count += 1

# 输出结果
print(count)

答案:189

问题描述

  小蓝有一个 30 行 60 列的数字矩阵,矩阵中的每个数都是 0 或 1 。
  110010000011111110101001001001101010111011011011101001111110
  010000000001010001101100000010010110001111100010101100011110
  001011101000100011111111111010000010010101010111001000010100
  101100001101011101101011011001000110111111010000000110110000
  010101100100010000111000100111100110001110111101010011001011
  010011011010011110111101111001001001010111110001101000100011
  101001011000110100001101011000000110110110100100110111101011
  101111000000101000111001100010110000100110001001000101011001
  001110111010001011110000001111100001010101001110011010101110
  001010101000110001011111001010111111100110000011011111101010
  011111100011001110100101001011110011000101011000100111001011
  011010001101011110011011111010111110010100101000110111010110
  001110000111100100101110001011101010001100010111110111011011
  111100001000001100010110101100111001001111100100110000001101
  001110010000000111011110000011000010101000111000000110101101
  100100011101011111001101001010011111110010111101000010000111
  110010100110101100001101111101010011000110101100000110001010
  110101101100001110000100010001001010100010110100100001000011
  100100000100001101010101001101000101101000000101111110001010
  101101011010101000111110110000110100000010011111111100110010
  101111000100000100011000010001011111001010010001010110001010
  001010001110101010000100010011101001010101101101010111100101
  001111110000101100010111111100000100101010000001011101100001
  101011110010000010010110000100001010011111100011011000110010
  011110010100011101100101111101000001011100001011010001110011
  000101000101000010010010110111000010101111001101100110011100
  100011100110011111000110011001111100001110110111001001000111
  111011000110001000110111011001011110010010010110101000011111
  011110011110110110011011001011010000100100101010110000010011
  010011110011100101010101111010001001001111101111101110011101
  如果从一个标为 1 的位置可以通过上下左右走到另一个标为 1 的位置,则称两个位置连通。与某一个标为 1 的位置连通的所有位置(包括自己)组成一个连通分块。
  请问矩阵中最大的连通分块有多大?

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

给出计算的Python代码

def dfs(matrix, i, j, visited):
    if i < 0 or i >= len(matrix) or j < 0 or j >= len(matrix[0]) or matrix[i][j] == 0 or visited[i][j]:
        return 0
    
    visited[i][j] = True
    size = 1

    directions = [(0, 1), (0, -1), (1, 0), (-1, 0)]
    for direction in directions:
        new_i, new_j = i + direction[0], j + direction[1]
        size += dfs(matrix, new_i, new_j, visited)

    return size

def find_largest_connected_block(matrix):
    rows, cols = len(matrix), len(matrix[0])
    visited = [[False for _ in range(cols)] for _ in range(rows)]
    max_size = 0

    for i in range(rows):
        for j in range(cols):
            if matrix[i][j] == 1 and not visited[i][j]:
                block_size = dfs(matrix, i, j, visited)
                max_size = max(max_size, block_size)

    return max_size

# Example matrix
matrix = [
    [1, 1, 0, 0, 1, 0],
    [0, 1, 1, 0, 1, 1],
    [0, 0, 1, 0, 0, 0],
    [1, 1, 0, 0, 0, 1],
    [0, 0, 1, 1, 0, 0],
    [1, 1, 1, 0, 1, 1]
]

# Find the size of the largest connected block
largest_block_size = find_largest_connected_block(matrix)

# Output the result
print(largest_block_size)

提示:可以使用深度优先搜索(DFS)或广度优先搜索(BFS)来找到矩阵中的连通分块,并计算它们的大小。

答案:5

问题描述

  一个数的数位和是指这个数各个数位上的数字之和。例如 2023 的数位和是 2+0+2+3=7 。
  对于以下这些数(8行,每行8个,共64个),请问数位和最小的数是多少?(如果有多个,请回答出现最早的那个)
  454771 329157 801601 580793 755604 931703 529875 361797
  604358 529564 574776 821517 195563 688516 223321 607845
  284772 603562 543328 707484 533688 380468 233733 257995
  896582 670074 912386 702393 722092 834842 126346 606526
  376981 910643 413754 945725 817853 651778 350775 676550
  316935 487808 939526 900568 423326 298936 927671 539773
  136326 717022 886675 466684 436470 558644 267231 902422
  743580 857864 529622 320921 595409 486860 951114 558787

答案提交

  这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。

n = 8
numbers = [
    [454771, 329157, 801601, 580793, 755604, 931703, 529875, 361797],
    [604358, 529564, 574776, 821517, 195563, 688516, 223321, 607845],
    [284772, 603562, 543328, 707484, 533688, 380468, 233733, 257995],
    [896582, 670074, 912386, 702393, 722092, 834842, 126346, 606526],
    [376981, 910643, 413754, 945725, 817853, 651778, 350775, 676550],
    [316935, 487808, 939526, 900568, 423326, 298936, 927671, 539773],
    [136326, 717022, 886675, 466684, 436470, 558644, 267231, 902422],
    [743580, 857864, 529622, 320921, 595409, 486860, 951114, 558787]
]

min_sum = float('inf')
min_number = -1

for i in range(n):
    for j in range(n):
        number = numbers[i][j]
        digit_sum = sum(map(int, str(number))) # 计算数位和

        if digit_sum < min_sum: # 更新最小数位和和对应的数
            min_sum = digit_sum
            min_number = number

print(min_number) # 输出结果

 答案:223321

代码题目

问题描述

  给定一天是一周中的哪天,请问 n 天后是一周中的哪天?

输入格式

  输入第一行包含一个整数 w,表示给定的天是一周中的哪天,w 为 1 到 6 分别表示周一到周六,w 为 7 表示周日。
  第二行包含一个整数 n。

输出格式

  输出一行包含一个整数,表示 n 天后是一周中的哪天,1 到 6 分别表示周一到周六,7 表示周日。

样例输入

6
10

样例输出

2

评测用例规模与约定

  对于所有评测用例,1 <= n <= 1000000。

w = int(input())  # 输入给定的天是一周中的哪一天
n = int(input())  # 输入天数间隔 n

day = (w + n - 1) % 7  # 计算 n 天后是一周中的哪一天

if day == 0:
    day = 7

print(day)

问题描述

  小蓝负责一块区域的信号塔安装,整块区域是一个长方形区域,建立坐标轴后,西南角坐标为 (0, 0), 东南角坐标为 (W, 0), 西北角坐标为 (0, H), 东北角坐标为 (W, H)。其中 W, H 都是整数。
  他在 n 个位置设置了信号塔,每个信号塔可以覆盖以自己为圆心,半径为 R 的圆形(包括边缘)。
  为了对信号覆盖的情况进行检查,小蓝打算在区域内的所有横纵坐标为整数的点进行测试,检查信号状态。其中横坐标范围为 0 到 W,纵坐标范围为 0 到 H,总共测试 (W+1) * (H+1) 个点。
  给定信号塔的位置,请问这 (W+1)*(H+1) 个点中有多少个点被信号覆盖。

输入格式

  输入第一行包含四个整数 W, H, n, R,相邻整数之间使用一个空格分隔。
  接下来 n 行,每行包含两个整数 x, y,表示一个信号塔的坐标。信号塔可能重合,表示两个信号发射器装在了同一个位置。

输出格式

  输出一行包含一个整数,表示答案。

样例输入

10 10 2 5
0 0
7 0

样例输出

57

评测用例规模与约定

  对于所有评测用例,1 <= W, H <= 100,1 <= n <= 100, 1 <= R <= 100, 0 <= x <= W, 0 <= y <= H。

def is_covered(x, y, towers, R):
    for tower in towers:
        tower_x, tower_y = tower
        if (x - tower_x) ** 2 + (y - tower_y) ** 2 <= R ** 2:
            return True
    return False

def count_covered_points(W, H, n, R, towers):
    count = 0
    for x in range(W + 1):
        for y in range(H + 1):
            if is_covered(x, y, towers, R):
                count += 1
    return count

# 读取输入
W, H, n, R = map(int, input().split())
towers = [tuple(map(int, input().split())) for _ in range(n)]

# 计算答案
result = count_covered_points(W, H, n, R, towers)

# 输出结果
print(result)

问题描述

  小蓝有一个 n * m 大小的矩形水域,小蓝将这个水域划分为 n 行 m 列,行数从 1 到 n 标号,列数从 1 到 m 标号。每行和每列的宽度都是单位 1 。
  现在,这个水域长满了水草,小蓝要清理水草。
  每次,小蓝可以清理一块矩形的区域,从第 r1 行(含)到第 r2 行(含)的第 c1 列(含)到 c2 列(含)。
  经过一段时间清理后,请问还有多少地方没有被清理过。

输入格式

  输入第一行包含两个整数 n, m,用一个空格分隔。
  第二行包含一个整数 t ,表示清理的次数。
  接下来 t 行,每行四个整数 r1, c1, r2, c2,相邻整数之间用一个空格分隔,表示一次清理。请注意输入的顺序。

输出格式

  输出一行包含一个整数,表示没有被清理过的面积。

样例输入

2 3
2
1 1 1 3
1 2 2 2

样例输出

2

样例输入

30 20
2
5 5 10 15
6 7 15 9

样例输出

519

评测用例规模与约定

  对于所有评测用例,1 <= r1 <= r2 <= n <= 100, 1 <= c1 <= c2 <= m <= 100, 0 <= t <= 100。

def read_area(n, m, t):  
    # 计算矩形的总面积  
    total_area = n * m  
  
    # 存储每次清理的面积  
    cleaned_area = 0  
  
    # 遍历所有的清理记录  
    for _ in range(t):  
        r1, c1, r2, c2 = map(int, input().split())  
        # 计算本次清理的面积  
        cleaned_area += (r2 - r1 + 1) * (c2 - c1 + 1)  
  
    # 计算未清理的面积  
    uncleaned_area = total_area - cleaned_area  
  
    # 返回结果  
    return uncleaned_area  
  
n, m = map(int, input().split())  
t = int(input())  
print(read_area(n, m, t))

问题描述

  小蓝准备在一个空旷的场地里面滑行,这个场地的高度不一,小蓝用一个 n 行 m 列的矩阵来表示场地,矩阵中的数值表示场地的高度。
  如果小蓝在某个位置,而他上、下、左、右中有一个位置的高度(严格)低于当前的高度,小蓝就可以滑过去,滑动距离为 1 。
  如果小蓝在某个位置,而他上、下、左、右中所有位置的高度都大于等于当前的高度,小蓝的滑行就结束了。
  小蓝不能滑出矩阵所表示的场地。
  小蓝可以任意选择一个位置开始滑行,请问小蓝最多能滑行多远距离。

输入格式

  输入第一行包含两个整数 n, m,用一个空格分隔。
  接下来 n 行,每行包含 m 个整数,相邻整数之间用一个空格分隔,依次表示每个位置的高度。

输出格式

  输出一行包含一个整数,表示答案。

样例输入

4 5
1 4 6 3 1
11 8 7 3 1
9 4 5 2 1
1 3 2 2 1

样例输出

7

样例说明

  滑行的位置一次为 (2, 1), (2, 2), (2, 3), (3, 3), (3, 2), (4, 2), (4, 3)。

评测用例规模与约定

  对于 30% 评测用例,1 <= n <= 20,1 <= m <= 20,0 <= 高度 <= 100。
  对于所有评测用例,1 <= n <= 100,1 <= m <= 100,0 <= 高度 <= 10000。

# 检查一个位置是否在矩阵范围内
def is_valid(matrix, row, col):
    return 0 <= row < len(matrix) and 0 <= col < len(matrix[0])

# 定义上、下、左、右四个方向
directions = [(-1, 0), (1, 0), (0, -1), (0, 1)]

# DFS函数,在当前位置进行DFS
def dfs(matrix, row, col, visited):
    height = matrix[row][col]
    max_distance = 0

    for d in directions:
        new_row = row + d[0]
        new_col = col + d[1]

        if is_valid(matrix, new_row, new_col) and not visited[new_row][new_col] and matrix[new_row][new_col] < height:
            visited[new_row][new_col] = True
            distance = dfs(matrix, new_row, new_col, visited)
            max_distance = max(max_distance, distance)

    return max_distance + 1

# 读取输入
n, m = map(int, input().split())
matrix = [list(map(int, input().split())) for _ in range(n)]

# 计算答案
result = 0

for i in range(n):
    for j in range(m):
        visited = [[False] * m for _ in range(n)]
        visited[i][j] = True
        distance = dfs(matrix, i, j, visited)
        result = max(result, distance)

# 输出结果
print(result)

提示:这个问题可以通过深度优先搜索(DFS)来解决。我们可以从每个位置开始进行DFS,找到可以继续滑行的相邻位置,计算滑行的距离,然后选择滑行距离最长的结果作为答案。

问题描述

  小蓝有一个序列 a[1], a[2], ..., a[n]。
  给定一个正整数 k,请问对于每一个 1 到 n 之间的序号 i,a[i-k], a[i-k+1], ..., a[i+k] 这 2k+1 个数中的最小值是多少?当某个下标超过 1 到 n 的范围时,数不存在,求最小值时只取存在的那些值。

输入格式

  输入的第一行包含一整数 n。
  第二行包含 n 个整数,分别表示 a[1], a[2], ..., a[n]。
  第三行包含一个整数 k 。

输出格式

  输出一行,包含 n 个整数,分别表示对于每个序号求得的最小值。

样例输入

5
5 2 7 4 3
1

样例输出

2 2 2 3 3

评测用例规模与约定

  对于 30% 的评测用例,1 <= n <= 1000,1 <= a[i] <= 1000。
  对于 50% 的评测用例,1 <= n <= 10000,1 <= a[i] <= 10000。
  对于所有评测用例,1 <= n <= 1000000,1 <= a[i] <= 1000000。

from collections import deque

def find_min_in_window(n, arr, k):
    result = []
    window = deque()

    # 处理前 k 个元素
    for i in range(k):
        while window and arr[i] < arr[window[-1]]:
            window.pop()
        window.append(i)

    # 处理剩余的元素
    for i in range(k, n):
        result.append(arr[window[0]])

        # 移除不在当前窗口范围内的元素
        while window and window[0] <= i - k:
            window.popleft()

        # 移除比当前元素大的元素
        while window and arr[i] < arr[window[-1]]:
            window.pop()

        window.append(i)

    # 处理最后一个窗口
    result.append(arr[window[0]])

    return result

# 读取输入
n = int(input())
arr = list(map(int, input().split()))
k = int(input())

# 计算答案
result = find_min_in_window(n, arr, k)

# 输出结果
print(" ".join(map(str, result)))

问题描述

  小蓝有一根长度为 L 的绳子,每对折一次,长度变为原来的一半,请问对折多少次后长度不超过 1 。
  例如,当 L=6 时,对折一次长度为 3,对折两次长度为 1.5 ,对折 3 次长度为 0.75,所以 3 次后长度不超过 1 。

输入格式

  输入一行包含一个整数 L 。

输出格式

  输出一行包含一个整数,表示答案。

样例输入

6

样例输出

3

样例输入

255

样例输出

8

样例输入

256

样例输出

8

样例输入

257

样例输出

9

评测用例规模与约定

  对于 50% 评测用例,1 < L <= 10**9 (10的9次方)。
  对于所有评测用例,1 < L <= 10**18 (10的18次方)。

L = int(input())

count = 0
while L > 1:
    L /= 2
    count += 1

print(count)

问题描述

  给定一个由大写字母组成的长度为 n 的字符串,请在字符串中删除 m 个字符,使得剩下的字符串的字典序最小。

输入格式

  输入的第一行包含两个整数 n, m ,用一个空格分隔。
  第二行包含一个长度为 n 的字符串。

输出格式

  输出一行包含一个长为 n-m 的字符串,表示答案。

样例输入

7 3
LANQIAO

样例输出

AIAO

评测用例规模与约定

  对于 30% 的评测用例,1 <= m < n <= 30。
  对于 60% 的评测用例,1 <= m < n <= 1000。
  对于所有评测用例,1 <= m < n <= 1000000。

def remove_characters(s, m):  
    # 将字符串排序  
    s = sorted(s)  
    n = len(s)  
    # 删除尽可能多的字符  
    i = 0  
    while i < n and m > 0:  
        if s[i] != 'A':  
            i += 1  
        else:  
            s.pop(i)  
            m -= 1  
    # 如果删除的字符数量小于 m,则将删除的字符数增加到 m  
    if m < n - i:  
        s = s[:-i]  
    return ''.join(s)

提示:

这个问题可以通过贪心算法来解决。我们可以从字符串的开头开始,删除尽可能多的字符,以得到字典序最小的字符串。

具体来说,我们可以按照以下步骤进行操作:文章来源地址https://www.toymoban.com/news/detail-755395.html

  1. 将字符串排序,以便能够方便地删除字符并得到字典序最小的字符串。
  2. 从字符串的开头开始,删除尽可能多的字符,以使得剩下的字符串的字典序最小。删除的字符数量应当不超过 m。
  3. 如果删除的字符数量小于 m,则将删除的字符数增加到 m。
  4. 返回剩下的字符串。
  5. 这个算法的时间复杂度为 O(n log n),其中 n 是字符串的长度。这是因为我们需要对字符串进行排序,而排序的时间复杂度通常为 O(n log n)。

到了这里,关于第十五届蓝桥杯模拟赛(第一期)Python的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 第十五届蓝桥杯模拟赛(第二期)JAVA

    (做的时候忘记小题截图了,没有题目,个人答案,可能会有问题) 1. 108 2.608 3.4169 4.901440 5.541(有问题,看错题目了) 6. 问题描述 给定一个正好六位的正整数 x,请将 x 循环左移一位后输出。 所谓循环左移一位,是指将原来的十万位变为个位,原来的万位到个位向左移动依

    2024年02月04日
    浏览(57)
  • 第十五届蓝桥杯 模拟赛第二期java组题解

    一、 问题描述 小蓝要在屏幕上放置一行文字,每个字的宽度相同。 小蓝发现,如果每个字的宽为 36 像素,一行正好放下 30 个字,字符之间和前后都没 有任何空隙。 请问,如果每个字宽为 10 像素,字符之间不包含空隙,一行可以放下多少个字? 答案提交 这是一道结果填空

    2024年02月03日
    浏览(54)
  • 第十五届蓝桥杯模拟赛B组(第二期)C++

    前言: 第一次做蓝桥模拟赛的博客记录,可能有很多不足的地方,现在将第十五届蓝桥杯模拟赛B组(第二期)的题目与代码与大家进行分享,我是用C++做的,有好几道算法题当时自己做的也是一脸懵,所以有好个别几道也是请教了其他大佬才分享出来的。 目录 ​编辑 一、

    2024年02月05日
    浏览(55)
  • 【蓝桥杯Web】第十五届蓝桥杯(Web 应用开发)模拟赛 2 期 | 全部题解

    感觉蓝桥杯的模拟赛一次比一次难了😑 制作不易,代码都是纯手敲,觉得有帮助的伙伴们记得点个赞评论一下,谢谢大家支持😍 话不多说直接上答案 目录 1、想不相等 2、三行情书 3、电影院在线订票 4、老虎机 5、星际通讯 6、蓝桥杯排位赛 7、拼出一个未来 8、超能英雄联

    2024年02月05日
    浏览(55)
  • 【蓝桥杯 第十五届模拟赛 Java B组】训练题(A - I)

     目录 A、求全是字母的最小十六进制数 B、Excel表格组合 C、求满足条件的日期 D、 取数字 - 二分 (1)暴力 (2)二分 E、最大连通块 - bfs F、哪一天? G、信号覆盖 - bfs (1)bfs(60%) (2)暴力 H、清理水域 - 暴力(弱智版) 可以差分 I、滑行 - dfs + dp (1)dfs(30%) (2)

    2024年02月05日
    浏览(54)
  • 第十五届蓝桥杯(Web 应用开发)模拟赛 2 期-大学组(详细分析解答)

    目录  1.相不相等 1.1 题目要求 1.2 题目分析 1.3 源代码 2.三行情书 2.1 题目要求 2.2 题目分析 2.3 源代码 3.电影院在线订票 3.1 题目要求 3.2 题目分析 3.3 源代码  4.老虎坤(不然违规发不出来) 4.1 题目要求 4.2 题目分析 4.3 源代码 5.星际通讯 5.1 题目要求 5.2 题目分析 5.3 源代码

    2024年02月05日
    浏览(47)
  • 第十四届蓝桥杯模拟赛(第一期)——C语言版

    问题描述 十进制整数 2 在十进制中是 1 位数,在二进制中对应 10 ,是 2 位数。 十进制整数 22 在十进制中是 2 位数,在二进制中对应 10110 ,是 5 位数。 请问十进制整数 2022 在二进制中是几位数? 答案提交 这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果

    2023年04月09日
    浏览(62)
  • 第十四届校模拟赛第一期(一)

      “须知少时凌云志,自许人间第一流”    鄙人11月八号有幸参加学校校选拔赛,题型为5道填空题,5道编程题,总时间为4小时。奈何能力有限,只完成了5道填空和3道编程大题,现进行自省自纠,分享学习,与诸君共勉。   若有高见,欢迎指点,水平有限,然无惧诸君笑

    2024年02月03日
    浏览(45)
  • 第十四届蓝桥杯单片机第二场模拟赛程序

    第十四届蓝桥杯单片机第二场模拟赛程序(少量bug) 题目来源于4T评测网 www.4t.wiki 使用大赛组委会提供的国信长天单片机竞赛实训平台,完成本试题的程序设计与调试。程序编写、调试完成后,选手需通过考试系统提交以准考证号命名的hex文件。不符合以上文件提交要求的作

    2023年04月14日
    浏览(56)
  • 2023第十四届蓝桥杯模拟赛第二期个人题解(Java实现)

    2023第十四届蓝桥杯校内模拟赛第三期个人题解(Java实现) 蓝桥杯真题——单词分析(Java实现) 这篇文章为个人题解,假如我写的解法有误,欢迎大家在评论区指正👏👏!!!希望这篇文章对你有帮助❤❤ 请找到一个大于 2022 的最小数,这个数转换成二进制之后,最低的

    2023年04月23日
    浏览(166)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包