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

蓝桥杯 砍柴

题目

链接

思路

动态规划思想
核心就是从确定的东西推出确定的东西,并且使用空间换时间
详细题解见代码注释

代码

def is_zs(x):
    for i in range(2, int(x / 2 + 1)):
        if x % i == 0:
            return False
    return True


# 柴火数量
t = int(input())
# 柴火长度
n = []
for i in range(t):
    n.append(int(input()))
# 最长的柴火
n_max = max(n)
# 统计2~n_max之间所有的质数
zs=set()
for i in range(2,n_max+1):
    if is_zs(i):
        zs.add(i)
# 构建长度为n_max+1的数组a,a[i]表示木柴长度为i时,当前砍柴者是赢还是输
a = [0] * (n_max + 1)
for i in range(0, n_max + 1):
    # 如果当前砍柴者面临柴火长度i时一定会输,那么当其面临柴火长度i+p质数时,他一定会赢,因为他可以砍掉p,然后让对方输
    if a[i]==0:
        for j in zs:
            if i+j<=n_max:
                a[i+j]=1

for i in n:
    print(a[i])


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

相关文章:

  • 2025科技项目申报预测月历来啦!
  • 【AI】AI开源IDE:CLine源码分析报告
  • 达梦数据库导入数据,通过命令的方式
  • Windows 11下Git Bash执行cURL脚本400问题、CMD/PowerShell不能执行多行文本等问题记录及解决方案
  • V8引擎中的垃圾回收机制如何工作?
  • 删除或替换 Word 中的首页、尾页以及其它指定范围的页
  • 周末总结(2024/03/08)
  • 《C++ 构造、拷贝构造与析构函数:对象的诞生、克隆与消逝之旅》
  • 使用joblib 多线程/多进程
  • WPF基础知识41-60
  • 【新人系列】Golang 入门(三):条件循环
  • P8641 [蓝桥杯 2016 国 C] 赢球票--环形结构问题
  • 深入理解人脸特征向量及图片转换方法与开发架构
  • 大白话react第十四章高阶 React 组件开发和React 状态管理进阶等
  • 第7章 wireshark(网络安全防御实战--蓝军武器库)
  • 2025-03-09 学习记录--C/C++-PTA 习题10-8 递归实现顺序输出整数
  • 一行代码让手机秒变 AI 神器:DeepSeek 手机离线部署
  • 每日一题——三道链表简单题:回文,环形合并有序
  • 大规模语言模型的涌现能力
  • 跟着 Lua 5.1 官方参考文档学习 Lua (10)