想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全

试题编号: 202209-2
试题名称: 何以包邮?
时间限制: 1.0s
内存限制: 512.0MB
问题描述:

题目描述

新学期伊始,适逢顿顿书城有购书满 x 元包邮的活动,小 P 同学欣然前往准备买些参考书。
一番浏览后,小 P 初步筛选出 n 本书加入购物车中,其中第 i 本(1≤i≤n)的价格为 ai 元。
考虑到预算有限,在最终付款前小 P 决定再从购物车中删去几本书(也可以不删),使得剩余图书的价格总和 m 在满足包邮条件(m≥x)的前提下最小。

试帮助小 P 计算,最终选购哪些书可以在凑够 x 元包邮的前提下花费最小?

输入格式

从标准输入读入数据。

输入的第一行包含空格分隔的两个正整数 n 和 x,分别表示购物车中图书数量和包邮条件。

接下来输入 n 行,其中第 i 行(1≤i≤n)仅包含一个正整数 ai,表示购物车中第 i 本书的价格。输入数据保证 n 本书的价格总和不小于 x。

输出格式

输出到标准输出。

仅输出一个正整数,表示在满足包邮条件下的最小花费。

样例1输入

4 100
20
90
60
60

样例1输出

110

样例1解释

购买前两本书(20+90)即可包邮且花费最小。

样例2输入

3 30
15
40
30

样例2输出

30

样例2解释

仅购买第三本书恰好可以满足包邮条件。

样例3输入

2 90
50
50

样例3输出

100

样例3解释

必须全部购买才能包邮。

子任务

70% 的测试数据满足:n≤15;

全部的测试数据满足:n≤30,每本书的价格 ai≤104 且 x≤a1+a2+⋯+an。

提示

对于 70% 的测试数据,直接枚举所有可能的情况即可。

真题来源:何以包邮?

感兴趣的同学可以如此编码进去进行练习提交

直接无脑解(70分):

# 输入购物车中的图书数量n和包邮最低值x
n, x = map(int,input().split())
# 设置a来存储每个数的价格
a = []
# 设置最低消费的价格
min_money = n*x
# 存储各种搭配的价格
cost = []
# 进行遍历,将每本书的价格依次存入a
for i in range(n):t = int(input())a.append(t)
# 对所有书本的价格进行从低到高的排序
a.sort()
# 开始遍历
for i in a:# 设置集合存储可能出现搭配的价格temp = set()if not cost:cost.append(i)continuefor j in cost:# 判断是否小于最小的包邮值c = i+jif c<x:temp.add(c)continueelse:min_money = min(min_money,c)breakfor k in temp:cost.append(k)cost.sort()
print(min_money)

运行结果:

错误解析:

这种解法属于第二题看到题直白写就好,这个题解虽然有70分,但是我在写的时候没有把每一本书做标记,所以有些书可能重复购买了两次,这是不符题意的,但也有70分入手。


满分题解:

# 输入购物车中的图书数量n和包邮最低值x
n, x = map(int,input().split())
# 设置a来存储每个数的价格
a = []
# 设置动态规划数组存储每个价格的最小花费
dp = [0]*(n*x)
# 进行遍历,将每本书的价格依次存入a
for i in range(n):t = int(input())a.append(t)
# 设置pre来保存目前满足包邮的最小花费
pre = sum(a)
# 01背包解法,将每个地方的最优解存入dp数组中
for i in range(n):for j in range(pre,a[i]-1,-1):dp[j] = max(dp[j],dp[j-a[i]]+a[i])
# 从x开始遍历,找到超过x的dp[i]
for i in range(x,pre+1):if dp[i]>=x:print(dp[i])break

运行结果:

题解解析:

我在里面用了类似01背包动态规划得到概念去解的,我本来以为这种可能会出现超时现象,试了一下发现是可以成功,就用这个解了。

CCF-CSP真题《202209-2 何以包邮?》思路+python满分题解相关推荐

  1. CCF-CSP真题《202209-1 如此编码》思路+python满分题解

    想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号: 202209-1 试题名称: 如此编码 时间限制: 1.0s 内存限制: 512.0MB 问题描述: 题目背景 某 ...

  2. ccf寻宝!大冒险!python满分(敲开心~)

    寻宝 大冒险 题目传送:http://118.190.20.162/view.page?gpid=T147 思路及代码: 核心点就是哈希. 之前刷的是70分,找不到之前的代码了,大概是建了一个很大的表 ...

  3. CCF-CSP真题《202206-3—角色授权》思路+python题解

    想查看其他题的真题及题解的同学可以前往查看:CCF-CSP真题附题解大全 试题编号: 202206-3 试题名称: 角色授权 时间限制: 5.0s 内存限制: 512.0MB 问题描述: 题目背景 为 ...

  4. CCF CSP 2019-09-2 小明种苹果(续) 解题思路及满分代码(C++11)

    文章目录 问题描述 问题分析 满分代码 问题描述 问题分析 题目不难理解,求T(苹果的总数)和E(有苹果掉落的树的个数)也没什么难度,遍历数组进行判断就可以实现,这里略过(后面完整代码注释里会有). ...

  5. 201512-4 CSP 真题 送货

    201512-4 CSP 真题 送货 题目分析 学过离散数学应该对欧拉通路不陌生,这道题简单来说就是找一条欧娜通路出来,就是一笔画的问题,且要求从标号1开始,这种题只能用bfs. dfs(深度优先搜索 ...

  6. 历届CSP真题题解-CSP刷真题之路

    历届CSP真题题解-CSP刷真题之路(持续更新中...) 2020-12 2020-09 2020-06 2019-12 2020-12 题目编号 题解链接 CSP202012-1 期末预测之安全指数 ...

  7. CCF历届真题之门禁系统(_1412_1_AccessControlSystem.java)

    CCF历届真题之门禁系统(_1412_1_AccessControlSystem.java) 问题描述: 试题编号: 201412-1 试题名称: 门禁系统 时间限制: 1.0s 内存限制: 256. ...

  8. CSP 202206 题解:归一化处理,寻宝大冒险,角色授权,光线追踪,PS无限版

    试题内容请前往CCF官网查看: CCF-CSP计算机软件能力认证考试 http://118.190.20.162/home.page 阅读本题解前,您应当了解下列知识: 线段树 教程 C++ 标准库( ...

  9. ccfcsp 202206-2 寻宝大冒险

    问题描述 就是这个题,输入与输出格式不再罗列,题目目的大概意思为:给定一个小的地图B,在一个大的地图A中找到B,也就是B是A的子图,求有几个这样的子图. ccf的第二题给定的限制时间和空间都很大,所以 ...

最新文章

  1. 『Tarjan算法 无向图的双联通分量』
  2. 一个SpringMVC接口能返回JSON又能返回XML? 安排!
  3. 核密度估计Kernel Density Estimation(KDE)-代码详细解释
  4. Dubbo接口测试方法及步骤
  5. Android开发之fragment之replace用法
  6. mkdir-yum-tree命令应用案例
  7. 【开源】Transformer 在CV领域全面开花:新出跟踪、分割、配准等总结
  8. 3D Vision | 移动机器人视觉三维感知的现在与将来
  9. [BZOJ1030] [JSOI2007] 文本生成器 (AC自动机 dp)
  10. 拉勾发布互联网人薪资报告 2021开年薪资环比增长7%
  11. 驱动中的C语言----指针与指针初使化
  12. php 循环 post,如何在php中使用jQuery递归调用POST循环请求
  13. matlab平面电磁波入射_MATLAB仿真平面电磁波在不同媒介分界面上的入射
  14. Python数据分析学习系列 十四 数据分析案例
  15. UE4_C++_自定义细节面板_Customizing detail panels
  16. 在Windows下配置Ubuntu启动引导项
  17. 独家|数据造假、爬虫与反爬虫战争暴露出哪些行业现状?
  18. 了解一下Windows Cracker
  19. LOOP AT SCREEN ABAP
  20. html图片的边框属性,css3图片边框border-image的用法

热门文章

  1. Linux中使用计划任务自动执行
  2. oracle12c数据库安装包
  3. 详解MySQL的show processlist命令
  4. 【机器学习】【线性代数】均值,无偏估计,总体/样本方差,样本标准差,矩阵中心化/标准化、协方差,正/不/负相关等,协方差矩阵
  5. Vega Prime 虚拟现实开发技术
  6. python创建虚拟环境报错_python 创建虚拟环境时报错OSError, setuptools下载失败
  7. 软件作业(3):用户体验分析——基于南通大学教务管理系统微信公众号
  8. 【Git通关之旅】从山脚到山顶(傲视群雄版)
  9. 敞口杯市场前景分析及行业研究报告
  10. 三天学会Mysql之第(三)天:创建修改删除