问题 G: 老鼠和猫的交易

news/2025/2/21 7:57:27/
题目描述

小老鼠准备了M磅的猫粮,准备去和看守仓库的猫做交易,因为仓库里有小老鼠喜欢吃的五香豆。

仓库有N个房间;
第i个房间有J[i] 磅的五香豆,并且需要用F[i]磅的猫粮去交换;
老鼠不必交换该房间所有的五香豆,换句话说,它可以用 F[i]* a% 磅的猫粮去换取J[i]* a%磅的五香豆,其中a是一个实数。

现在,请帮忙计算一下,小老鼠最多能够得到多少磅的五香豆?

输入

输入包含多组测试用例。
每组测试数据首先一行是2个非负整数M和N,接着的N行,每行分别包含2个非负整数J[i]和F[i]。
输入数据以两个-1结束。
题目保证所有的数据不超过1000.

输出

请计算并输出小老鼠最多能够得到的五香豆数量。
每组数据输出一行,保留3位小数。

样例输入 Copy
5 3
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1
样例输出 Copy
13.333
31.500
#include<iostream>
using namespace std;
struct amount {double x, y, z;
};
amount trade[1000];
int main() {int m, n;cin >> m >> n;do {double sum(0);for (int i = 0; i < n; i++) {cin >> trade[i].x >> trade[i].y;trade[i].z = trade[i].x / trade[i].y;}for(int i=0;i<n;i++)for(int j=0;j<n-i-1;j++)if (trade[j].z < trade[j + 1].z){amount temp = trade[j];trade[j] = trade[j + 1];trade[j + 1] = temp;}while (m != 0) {int i;for (i = 0; i < n; i++) {if (m >= trade[i].y){sum += trade[i].x;m -= trade[i].y;}else {sum += m / trade[i].y * trade[i].x;m = 0;}}if (i == n)break;}printf("%.3f\n", sum);sum = 0;cin >> m >> n;} while (m != -1 && n != -1);
}


http://www.ppmy.cn/news/1350685.html

相关文章

华清作业day56

SQLite特性&#xff1a; 零配置一无需安装和管理配置&#xff1b;储存在单一磁盘文件中的一个完整的数据库&#xff1b;数据库文件可以在不同字节顺序的机器间自由共享&#xff1b;支持数据库大小至2TB&#xff1b;足够小&#xff0c;全部源码大致3万行c代码&#xff0c;250KB…

GO 的 Web 开发系列(五)—— 使用 Swagger 生成一份好看的接口文档

经过前面的文章&#xff0c;已经完成了 Web 系统基础功能的搭建&#xff0c;也实现了 API 接口、HTML 模板渲染等功能。接下来要做的就是使用 Swagger 工具&#xff0c;为这些 Api 接口生成一份好看的接口文档。 一、写注释 注释是 Swagger 的灵魂&#xff0c;Swagger 是通过…

贪吃蛇的实现,基于windows操作系统

前言&#xff1a; 贪吃蛇从学习到真正实现花了9天实现&#xff0c;第一二天第一次学习&#xff0c;第三四五天第二次学习&#xff0c;第六七八天一边实现一边思考&#xff0c;才完成了贪吃蛇的代码。实现了贪吃蛇以后已经接近过年&#xff0c;我想自己再根据掌握的知识制作烟花…

Swift Combine 管道 从入门到精通三

Combine 系列 Swift Combine 从入门到精通一Swift Combine 发布者订阅者操作者 从入门到精通二 1. 用弹珠图描述管道 函数响应式编程的管道可能难以理解。 发布者生成和发送数据&#xff0c;操作符对该数据做出响应并有可能更改它&#xff0c;订阅者请求并接收这些数据。 这…

LocalAI 部署(主要针对 mac m2 启动)

LocalAI 部署 介绍 LocalAI 是免费的开源 OpenAI 替代方案。 LocalAI 充当 REST API 的直接替代品&#xff0c;与本地推理的 OpenAI API 规范兼容。 它无需 GPU&#xff0c;还有多种用途集成&#xff0c;允许您使用消费级硬件在本地或本地运行 LLM、生成图像、音频等等&#…

Linux系统安全——iptables相关总结

在使用iptables时注意要先关闭firewalld&#xff08;systemctl stop firewalld.service&#xff09; 1.查看iptables规则 iptables -vnL 选项含义-v查看时显示更多详细信息-n所有字段以数字形式显示-L查看规则列表 例&#xff0c;拒绝来自192.168.241.22的源地址 直接丢弃 …

2.13作业

数组练习 1、选择题 1.1、若有定义语句&#xff1a;int a[3][6]; &#xff0c;按在内存中的存放顺序&#xff0c;a 数组的第10个元素是D A&#xff09;a[0][4] B) a[1][3] C)a[0][3] D)a[1][4] 1.2、有数组 int a[5] {10&#xff0c;20&#xff0c;30&#xff0c;40&#xf…

AlmaLinux右键菜单(基于GNOME桌面)

文章目录 前言前提说明在文件上右键在文件夹上右键 前言 在使用VSCode的过程中&#xff0c;AlmaLinux没能像Windows一样在右键菜单上显示打开方式&#xff0c;所以找了一下解决方案&#xff0c;罗列出来 前提说明 虽然说无论是media还是StackOverflow都推荐使用这条命令&…