当前位置: 首页 > article >正文

11.25.2024刷华为OD

文章目录

  • HJ76 尼科彻斯定理(观察题,不难)
  • HJ77 火车进站(DFS)
  • HJ91 走格子方法,(动态规划,递归,有代表性)
  • HJ93 数组分组(递归)
  • 语法知识记录

HJ76 尼科彻斯定理(观察题,不难)

链接
代码

n = int(input())

# from numpy import right_shift
total = n ** 3
ave = 0
ave = int(total / n)
left_L = []
right_L = []
mid = []
if ave % 2 == 0:
    left_end = ave - 1
    right_start = ave + 1
    left_L.append(left_end)
    right_L.append(right_start)
    for i in range(int(n/2)-1):
        left_L.append(left_end - (i+1)*2)
        right_L.append(right_start + (i+1)*2)
else:
    # left_end = ave - 2
    # right_start = ave + 2
    for i in range(int((n-1)/2)):
        left_L.append(ave - (i+1)*2)
        right_L.append(ave + (i+1)*2)
    mid.append(ave)
left_L = left_L[::-1]
# print(left_L+mid+right_L)
res = left_L+mid+right_L
res = [str(ch) for ch in res]
print('+'.join(res))

HJ77 火车进站(DFS)

在这里插入图片描述

# 定义一个全局变量 res 用于存放最终的出站序列
res = []

# 定义递归函数 dfs
def dfs(wait, stack, out):
    """
    递归深度优先搜索所有可能的出站序列
    
    参数:
    wait (list): 还未进站的火车编号列表
    stack (list): 当前已经进站但未出站的火车编号
    out (list): 已经出站的火车编号序列
    """
    # 如果 wait 和 stack 都为空,说明所有火车已经完成进站出站,将当前的出站序列添加到 res 中
    if not wait and not stack:
        res.append(' '.join(map(str, out)))
    
    # 如果 wait 不为空,将当前 wait 列表的第一个火车编号入栈,递归调用 dfs 函数
    if wait:
        dfs(wait[1:], stack + [wait[0]], out)
    
    # 如果 stack 不为空,将栈顶的火车编号出栈,添加到 out 序列中,递归调用 dfs 函数
    if stack:
        dfs(wait, stack[:-1], out + [stack[-1]])

# 主程序
while True:
    try:
        # 读取输入数据
        n, nums = int(input()), list(map(int, input().split()))
        
        # 调用 dfs 函数计算所有的出站序列
        dfs(nums, [], [])
        
        # 按照字典序输出所有的出站序列
        for i in sorted(res):
            print(i)
        
        # 清空 res 列表,准备处理下一组数据
        res.clear()
    except:
        # 遇到异常则退出循环
        break

HJ91 走格子方法,(动态规划,递归,有代表性)

在这里插入图片描述

def func(x,y):
    if x < 0 or y < 0:
        return 0
    elif x == 0 or y == 0:
        return 1
    else:
        return func(x-1, y)+func(x, y-1)

 
while True:
    try:
        n, m = map(int, input().split())
        res = func(n, m)
        print(res)
    except:
        break

```py
#动态规划解决
#nowcoder不能导入numpy模块,只能手工创建二维数组
#重点注意二维数据的创建方法,重点注意其横竖坐标,注意注意
#dp = [[1 for i in range(n+1)] for j in range(m+1)],横坐标是 n, 竖坐标是m

while True:
    try:
        n,m = map(int, input().split(' '))
        dp = [[1 for i in range(n+1)] for j in range(m+1)]
        for i in range(1,m+1):
            for j in range(1,n+1):
                dp[i][j] = dp[i-1][j]+dp[i][j-1]
        print(dp[m][n])
    except:
        break


HJ93 数组分组(递归)

在这里插入图片描述

def fun(sum3, sum5, other):

    if sum3 == sum5 and len(other) == 0:
        return True
    elif len(other) == 0:
        return False
    else:
        return fun(sum3 + other[0], sum5, other[1:]) or fun(
            sum3, sum5 + other[0], other[1:]
        )


while True:

    try:
        n = int(input())
        num_list = list(map(int, input().split()))

        list3, list5, other = [], [], []
        for i in num_list:
            if i % 3 == 0:
                list3.append(i)
                continue
            if i % 5 == 0:
                list5.append(i)
                continue
            other.append(i)
        sum3 = sum(list3)
        sum5 = sum(list5)
        if fun(sum3, sum5, other):
            print("true")
        else:
            print("false")

    except:
        break

语法知识记录


http://www.kler.cn/a/415443.html

相关文章:

  • JAVA:Spring Boot 3 实现 Gzip 压缩优化的技术指南
  • 《Vue 组件化开发:构建可复用的模块》
  • 配置泛微e9后端开发环境
  • 用 llama.cpp 体验 Meta 的 Llama AI 模型
  • 华为E9000刀箱(HWE9000V2)服务器硬件监控指标解读
  • 鸿蒙HarmonyOS学习笔记(6)
  • 【动态规划】完全背包问题应用
  • 淘宝Vision Pro:革新购物体验的沉浸式未来
  • QML 之 画布元素学习
  • 51单片机从入门到精通:理论与实践指南常用资源篇(五)
  • 提升数据分析效率:Excel Power Query和Power Pivot的妙用
  • 获取字 short WORD 上指定的位是否有效
  • Stability AI最新一代图像生成模型stable-diffusion-3.5-large分享
  • 力扣题库Day4(持续更新中...)
  • AutoGLM的一小步,人机交互进化的一大步
  • 查看k8s集群中pod和node的资源使用情况
  • 基于stm32单片机的教室节能系统设计
  • C# 集合(Collection)
  • 从Facebook的技术演进看社交媒体的未来趋势
  • 【微服务】http客户端Feign
  • Redis中的分布式锁(步步为营)
  • MySQL单行函数
  • uniapp在App端引用echarts组件,解决无法渲染formatter问题
  • 阿里滑块v2,1.1.11新版,后面考虑上AI轨迹
  • 速发论文 | 基于 2D-SWinTransformer+1D-CNN-SENet并行故障诊断模型
  • 【C++】泛型算法(五):泛型算法结构与特定容器算法