第九天-H-uva-11264-贪心

本文介绍了解决UVA-11264问题的算法,该问题要求从一系列货币中找出最大的兑换组合数。通过输入货币数量和每种货币的价值,使用C++实现了一种算法,该算法可以处理多组数据,并在硬币类型小于等于2时直接输出结果,否则通过比较累积价值和后续硬币价值来确定最优解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UVA-11264
题意:给出一系列的货币,求出最大的兑换数
别人的题解

#include<iostream>
#include<cstring>
using namespace std;
#define maxn 1005
int t, n, a[maxn], b[maxn], c;
int main()
{
	int i;
	cin >> t;//t组数据
	while (t--)
	{
		cin >> n;//硬币类型
		int count;
		if (n <= 2)
		{
			cout << n << endl;	continue;
		}
		for (i = 0; i < n; i++)
		{
			cin >> c;
			a[i] = c;//硬币价值
		}
		int sum= a[0];
		count = 2;
		for (i = 1; i < n - 1; i++)
		{
			if (sum < a[i] && sum+a[i] < a[i + 1])
			{
				sum += a[i];
				count++;//硬币所得种类总和
			}
		}
		cout << count << endl;
	}
	return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值