UVa 357 Let Me Count The Ways (完全背包)

Ndless:适用于本机应用程序的TI-Nspire计算器扩展 适用于TI-Nspire OS <= v5.3.0.564的Ndless r2018 在计算器上安装Ndless可以运行汇编程序。 Ndless结合了可执行的加载器和实用程序,可将TI-Nspire开放给第三方C和程序集开发。 官方网站位于: -> 可以在以下位置找到源代码: -> 可以在线获取用户指南,请务必阅读以获取更多安装说明: -> 可以在以下位置找到开发人员指南: -> 拉请求和问题,欢迎! 有关更深入的信息,请访问Wiki: -> 快速指南 操作系统5.2.0.771 + 5.3.0.564 先决条件:CX II,CX II-T或CX II CAS上的OS 5.2.0.771或5.3.0.564 将ndless_installer_5.2.0-5.3.0.tns转移到名为“ ndless”的文件夹中(顶层) 将ndless_resour 立即下载

357 - Let Me Count The Ways

Time limit: 3.000 seconds 

http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=114&page=show_problem&problem=293

After making a purchase at a large department store, Mel's change was 17 cents. He received 1 dime, 1 nickel, and 2 pennies. Later that day, he was shopping at a convenience store. Again his change was 17 cents. This time he received 2 nickels and 7 pennies. He began to wonder ' "How many stores can I shop in and receive 17 cents change in a different configuration of coins? After a suitable mental struggle, he decided the answer was 6. He then challenged you to consider the general problem.

Write a program which will determine the number of different combinations of US coins (penny: 1c, nickel: 5c, dime: 10c, quarter: 25c, half-dollar: 50c) which may be used to produce a given amount of money.

Input

The input will consist of a set of numbers between 0 and 30000 inclusive, one per line in the input file.

Output

The output will consist of the appropriate statement from the selection below on a single line in the output file for each input value. The numberm is the number your program computes, n is the input value.

There are m ways to produce n cents change.

There is only 1 way to produce n cents change.

Sample input

17 
11
4

Sample output

There are 6 ways to produce 17 cents change. 
There are 4 ways to produce 11 cents change. 
There is only 1 way to produce 4 cents change.

思路:dp[i] += dp[i - coin[k]];

注意会超int。


完整代码:

/*0.019s*/

#include<cstdio>
#include<cstring>
const int coin[5] = {1, 5, 10, 25, 50};
const int maxn = 30001;

long long dp[maxn];

int main()
{
	int i, k, n;
	dp[0] = 1;
	for (k = 0; k < 5; ++k)
		for (i = coin[k]; i < maxn; ++i)
			dp[i] += dp[i - coin[k]];
	while (~scanf("%d", &n))
	{
		if (n < 5) printf("There is only 1 way to produce %d cents change.\n", n);
		else printf("There are %lld ways to produce %d cents change.\n", dp[n], n);
	}
	return 0;
}

357游戏解法与扩展 有三堆圆圈圈各為3.5.7个,两人轮流劃掉,每次只 可劃去其中一堆中的任 意数, 不可以都不劃,劃到最後一个的算输 立即下载

相关推荐

OTP/EEPROM 读取与处理

Camera OTP/EEPROM 读取与处理 文章目录Camera OTP/EEPROM 读取与处理1. OTP概念1.1 基本概念1.2 OTP存储类型1.3 OTP烧录信息类型1.4 OTP 作用2. 配置准备2.1 基本认识2.2 OTP/EEPROM配置3. OTP/EEPROM datasheet理解 以及 读取方式3.1 data sheet 内容3.2 一般OTP/EEPROM(e...

Understand-image 1万+

探索 Ndless:Nspire计算器的开源编程平台

探索 Ndless:Nspire计算器的开源编程平台 去发现同类优质开源项目:https://gitcode.com/ Ndless 是一个革命性的开源项目,它为 Casio Nspire 系列图形计算器提供了 programming 能力,让这款强大的数学工具焕发新的活力。通过 ,用户可以编写和运行 Lua、C 和 Rust 代码,极大地拓展了 Nspire 的功能边界。 项目简介 Ndless...

gitblog_00040的博客 711

别光看教程了!手把手带你用STM32F103C8T6最小系统板点亮第一个LED(附完整电路图)

本文详细介绍了如何使用STM32F103C8T6最小系统板点亮第一个LED,从硬件连接到软件开发环境搭建,再到编写和下载程序,手把手教你完成STM32入门的第一步。适合初学者快速上手STM32开发,附完整电路图和代码示例。

weixin_28678831的博客 196

norestart 未成功安装_如何安装道路之星?

1.打开Ti的连接软件2.根据计算器的OS版本,把相应版本目录下的ndless文件夹拖到计算器的根目录下,并关闭计算器的提示框为的计算器把ndless_大黑文件或ndless_小白文件这个文件拖到计算器的根目录,在计算器出现提示框后,按Enter键安装。电脑上的进度提示条可以直接取消。OS为的计算器转至手持设备端,打开然后按下menu按键。稍等片刻,Ndless 即安装成功!但请注意,安装Endl...

weixin_39594191的博客 1501

伺服电机入门01

编码器输出 旋转信号 , 接收端: 使用ADC 捕捉旋转信号 ,转成数字信号,驱动器得到数字处理, 因为信号量是模拟信号, mcu mpu 等芯片通常内部处理是数字,通过adc 得到数字cpu 才能识别 传输过来的pos 等信息。IPM 芯片示例, IRAM256A 这个芯片已经停产,有换新的,,下面示例来自stmbl 高功率方案,4 步进电机 有全步控制,半步控制 ,微步控制,FOC控制,步进电机也是可以做伺服系统的。以下面几种信号是可以细分,也就是通过细分增加编码器的分辨率,

qq_25160559的博客 970

QT实现HTTP文件(夹)下载的完整流程与实战技巧

本文详细介绍了使用QT框架实现HTTP文件和文件夹下载的完整流程与实战技巧。通过QNetworkAccessManager等核心类,讲解了从单文件下载、大文件处理、进度显示、暂停/取消功能,到复杂的文件夹下载策略。文章重点剖析了断点续传、错误处理与网络健壮性等关键问题,为C++桌面应用集成稳定高效的下载功能提供了专业指导。

weixin_29239279的博客 279

SCAU专题训练II - DP---C-- Dividing coins

题目描述 It’s commonly known that the Dutch have invented copper-wire. Two Dutch men were fighting over a nickel, which was made of copper. They were both so eager to get it and the fighting was so fierce...

Leo_zehualuo的博客 373

ERA5气象数据下载与解压全攻略:Python脚本一键搞定(附错误处理技巧)

本文提供了一套完整的ERA5气象数据自动化处理方案,涵盖从CDS API配置、智能批量下载到高效解压与数据验证的全流程。重点介绍了如何通过Python脚本实现一键式数据下载与批量解压,并分享了实用的错误处理技巧与性能优化策略,帮助科研人员高效获取和处理大规模气象数据。

k8l9m0n的博客 338

UVA-357-Let Me Count The Ways

同样求指定数的钱的划分方法~ 输出的时候需要注意,如果答案为1的话需要特殊输出 代码: #include #include #include using namespace std; const int maxn=30010; int n,num[5]={1,5,10,25,50}; long long f[maxn]; void Init() { f[0]=1; for

z309241990的专栏 1160

Java开发者必看:如何快速对接七大主流快递API(附完整代码示例)

本文为Java开发者提供了快速对接顺丰、京东、DHL等七大主流快递API的实战指南。文章深入剖析了不同API的认证、通信协议与参数差异,并提供了高可用的HTTP客户端配置、通用签名工具、SOAP请求处理以及可扩展的领域模型与适配层设计等完整代码示例,帮助开发者构建统一、健壮的物流集成框架,显著提升开发效率。

tech5的博客 728

最优化问题——一维搜索(一)

最优化问题——一维搜索 1. 一维搜索的引入 1.1 从非线性规划问题到一维搜索 在前面的文章中,我们提到了基于迭代的非线性规划问题的求解思路。在求解过程中,我们提到了在每一步的迭代中都需要对计算步长因子,其计算公式为: λk=minλf(xk+λp)λ_k=min_{λ}f(x_k+λp)λk​=minλ​f(xk​+λp) 我们将f(xk+λp)f(x_k+λp)f(xk​+λp)视为λ的一元函数,我们的目标就是求这个一元函数的极小值。对于这个问题,我通常的求解方式为一维搜索。 1.2 一维搜索的基本形

hei653779919的博客 7362

UVA 357 Let Me Count The Ways(完全背包)

UVA 357 Let Me Count The Ways(完全背包) http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&problem=293 题意: 有5种硬币: 1分 5分 10分 25分 和50分. 现在给你一个面值n, 问你有多少种方法能利用上述硬币组合出n分的金钱. 分析: 典型的完全背包问题. 本题的限制条件: 硬币钱数正好等于n

code 1374

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

UVA - 357 Let Me Count The Ways(完全背包)

题目大意:给定五种硬币 1c, 5c, 10c, 25c, 50c,及一个面值额,看有多少种方法可以组成当前面值额。 解析:比较简单的dp题 用dp[v]表示:当前价格用的方法个数 状态转移方程:dp[v + coin[i]] += dp[v]; 唯一

小G的ACM之路 787

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

UVA 357 Let Me Count The Ways(完全背包)

题目概括: 一共有1、5、10、25、50五种面值的钱币,输入多组金额,分别求出用这五种钱币一共有多少种组合方式。 题目解析: 该题目涉及了完全背包的算法。 有两个博客对于这个算法有详细的解释,在这里引用一下: https://blog.youkuaiyun.com/qq_38984851/article/details/81133840 https://www.cnblogs.com/fengziwei/...

walalilongla! 287

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

UVA 357 Let Me Count The Ways 完全背包

又是重复问题,LRJ估计要突出这里基础的重要性 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #define LL long

Commence,的艰苦历程 437

UVA - 357Let Me Count The Ways(完全背包)

题目:UVA - 357Let Me Count The Ways(完全背包) 题目大意:给出N,问用1, 5, 10, 25, 50,这些硬币能够凑出N的方式有多少种。 代码: #include #include const int N = 5; const int maxn = 30005; const int coin[N] = {1, 5, 10, 25, 50

859

【解题报告】uva357_Let Me Count The Ways(让我来数数方案, dp, 完全背包)

357 - Let Me Count The Ways Time limit: 3.000 seconds  Let Me Count The Ways  After making a purchase at a large department store, Mel's change was 17 cents. He received 1

huanghuchuan 699

UVA.357 Let Me Count The Ways (DP 完全背包)

UVA.357 Let Me Count The Ways (DP 完全背包)题意分析与UVA.UVA.674 Coin Change是一模一样的题。需要注意的是,此题的数据量较大,dp数组需要使用long long 类型;另外输出方案为1个和多个的时候,语句是不同的。

Pengwill's Blog 350

UVA 357 Let Me Count The Ways (dp + 完全背包)

Let Me Count The Ways  After making a purchase at a large department store, Mel's change was 17 cents. He received 1 dime, 1 nickel, and 2 pennies. Later that day, he was shopping at a co

Remilia's 1299

UVA357 LA5251 Let Me Count The Ways【0/1背包】

After making a purchase at a large department store, Mel’s change was 17 cents. He received 1 dime, 1 nickel, and 2 pennies. Later that day, he was shopping at a convenience store. Again his change wa...

海岛Blog 681

UVa 357 - Let Me Count The Ways 背包

Let Me Count The Ways  After making a purchase at a large department store, Mel's change was 17 cents. He received 1 dime, 1 nickel, and 2 pennies. Later that day, he was shopping at a co

Azarath Metrion Zinthos 1014

uva 357 Let Me Count The Ways(01背包)

题目连接:357 - Let Me Count The Ways 题目大意:有5种硬币, 面值分别为1、5、10、25、50,现在给出金额,问可以用多少种方式组成该面值。 解题思路:和uva674是一样的, 只是上限不一样, 还有注意下输出。 #include #include const int N = 30005; const int val[5] = {

不慌不忙、不急不躁 1427

UVA 357 Let Me Count The Ways

背包变形。 #include #include #include #include #include using namespace std; typedef unsigned long long ULL; const int MAXN = 30010; const int INF = 0x3f3f3f3f; ULL f[30010]; int n, C; int V[] =

Wall_F的专栏 726

UVa 357 Let Me Count The Way

这篇文章介绍了如何使用动态规划解决美分硬币找零的组合数问题。题目给定5种硬币面额(1、5、10、25、50美分),要求计算组成指定金额的不同组合方式。作者通过动态规划预处理所有可能金额(0到30000美分),定义状态dp[i][j]表示使用前i种硬币组成金额j的组合数,并推导了状态转移方程。最终代码采用二维数组实现动态规划,预处理后直接查询输出结果。文章强调了组合数与排列数的区别,并提供了完整的C++实现代码,能够高效处理输入查询。

寂静山林 209

UVA - 357 Let Me Count The Ways

#include int main() { long long n, M[5] = {1, 5, 10, 25, 50}, DP[30005] = {0}; DP[0] = 1; for (int i = 0; i < 5; i++) { for (int j = M[i]; j < 30005 ; j++) if (DP[j-M[i]]) DP[j] += DP[j-

Bingo 1686
上一篇: UVa 10739 String to Palindrome (DP)
下一篇: UVa 147 Dollars (完全背包)
synapse7
博客等级 码龄14年 432粉丝 701原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值