当前位置:网站首页>FatMouse' Trade(杭电1009)
FatMouse' Trade(杭电1009)
2022-07-07 20:58:00 【全栈程序员站长】
大家好,又见面了,我是全栈君。
FatMouse’ Trade
Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 1 Accepted Submission(s) : 1
Font: Times New Roman | Verdana | Georgia
Font Size: ← →
Problem Description
FatMouse prepared M pounds of cat food, ready to trade with the cats guarding the warehouse containing his favorite food, JavaBean. The warehouse has N rooms. The i-th room contains J[i] pounds of JavaBeans and requires F[i] pounds of cat food. FatMouse does not have to trade for all the JavaBeans in the room, instead, he may get J[i]* a% pounds of JavaBeans if he pays F[i]* a% pounds of cat food. Here a is a real number. Now he is assigning this homework to you: tell him the maximum amount of JavaBeans he can obtain.
Input
The input consists of multiple test cases. Each test case begins with a line containing two non-negative integers M and N. Then N lines follow, each contains two non-negative integers J[i] and F[i] respectively. The last test case is followed by two -1’s. All integers are not greater than 1000.
Output
For each test case, print in a single line a real number accurate up to 3 decimal places, which is the maximum amount of JavaBeans that FatMouse can obtain.
Sample Input
5 3
7 2
4 3
5 2
20 3
25 18
24 15
15 10
-1 -1
Sample Output
13.333
31.500
//本题是简单贪心问题。意思是老鼠有m榜猫粮,通过给猫粮东西data[i].b能够兑换data[i].a,求最多能够兑换多少食物。//仅仅需将data[i].a/data[i].b的值从大到小排序就可以求解。 #include<stdio.h>struct st{ double a; double b; double c;}data[1000];int main(){ int i,j,m,n; struct st data[1000],t; while(scanf("%d %d",&m,&n)&&(m!=-1||n!=-1)) { double sum=0.000; for(i=0;i<n;i++) { scanf("%lf %lf",&data[i].a,&data[i].b); } for(i=0;i<n;i++) { for( j=i+1;j<n;j++) { if((data[i].a/data[i].b)<data[j].a/data[j].b) { t=data[i]; data[i]=data[j]; data[j]=t;} } } for(i=0;i<n;i++) { if(m-data[i].b>=0.001) { sum+=data[i].a; m-=data[i].b; } else { sum=sum+m*data[i].a/data[i].b; break; } } printf("%.3lf\n",sum); } return 0;}
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116298.html原文链接:https://javaforall.cn
边栏推荐
- 【OpenCV 例程200篇】223. 特征提取之多边形拟合(cv.approxPolyDP)
- Can Huatai Securities achieve Commission in case of any accident? Is it safe to open an account
- Implement secondary index with Gaussian redis
- 程序猿赚的那点钱算个P啊!
- 私募基金在中国合法吗?安全吗?
- Codeforces round 296 (Div. 2) A. playing with paper[easy to understand]
- SQL注入报错注入函数图文详解
- C语言 整型 和 浮点型 数据在内存中存储详解(内含原码反码补码,大小端存储等详解)
- 【矩阵乘】【NOI 2012】【cogs963】随机数生成器
- 神兵利器——敏感文件发现工具
猜你喜欢
CodeSonar网络研讨会
智能软件分析平台Embold
软件缺陷静态分析 CodeSonar 5.2 新版发布
H3C S7000/S7500E/10500系列堆叠后BFD检测配置方法
Intelligent software analysis platform embold
The latest version of codesonar has improved functional security and supports Misra, c++ parsing and visualization
Cantata9.0 | 全 新 功 能
Codesonar enhances software reliability through innovative static analysis
【C语言】指针进阶---指针你真的学懂了吗?
ERROR: 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your
随机推荐
如何挑选基金产品?2022年7月份适合买什么基金?
权限不足
嵌入式系统真正安全了吗?[ OneSpin如何为开发团队全面解决IC完整性问题 ]
华为CE交换机下载文件FTP步骤
How to meet the dual needs of security and confidentiality of medical devices?
Update iteration summary of target detection based on deep learning (continuous update ing)
Tensorflow2. How to run under x 1 Code of X
Nebula Importer 数据导入实践
Flask1.1.4 Werkzeug1.0.1 源码分析:路由
MinGW MinGW-w64 TDM-GCC等工具链之间的差别与联系「建议收藏」
What are the official stock trading apps in the country? Is it safe to use
私募基金在中国合法吗?安全吗?
现在网上开户安全么?想知道我现在在南宁,到哪里开户比较好?
想杀死某个端口进程,但在服务列表中却找不到,可以之间通过命令行找到这个进程并杀死该进程,减少重启电脑和找到问题根源。
Cantata9.0 | new features
Tensorflow2.x下如何运行1.x的代码
Data sorting in string
反诈困境,国有大行如何破局?
I Basic concepts
Micro service remote debug, nocalhost + rainbow micro service development second bullet