`
com_xpp
  • 浏览: 376715 次
社区版块
存档分类
最新评论

杭电1009 FatMouse' Trade

 
阅读更多

/********************************
* 日期:2011-2-7
* 作者:SJF
* 题号:杭电1009
* 题目:FatMouse' Trade
* 结果:AC
********************************/
#include <stdio.h>
#include <stdlib.h>
typedef struct
{
int J;
int F;
double ratio;
}Food;
int cmp(const void*a,const void *b)
{
return (*(Food *)a).ratio > (*(Food *)b).ratio ? 1 : -1;

}
int main()
{
int M,N;
Food* food;
while(scanf("%d%d",&M,&N)!=EOF)
{
int i,j;
double JavaBeans=0;
if((M==-1)&&(N==-1))
{
return 0;
}
food=(Food*)malloc(sizeof(food[0])*N);
for(i=0;i<N;i++)
{
scanf("%d%d",&food[i].J,&food[i].F);
food[i].ratio=(food[i].J*1.0)/food[i].F;
}
qsort(food,N,sizeof(food[0]),cmp);
for(i=N-1;i>=0;i--)
{
if(M>=food[i].F)
{
JavaBeans=food[i].J+JavaBeans;
M=M-food[i].F;
}
else
{
JavaBeans=JavaBeans+food[i].ratio*M;
break;
}
}
printf("%.3lf\n",JavaBeans);
}
return 0;
}

分享到:
评论

相关推荐

    ACM竞赛之FatMouse' Trade 贪心法

    【ACM竞赛之FatMouse' Trade 贪心法】主要涉及的是优化策略问题,具体是将一个实际问题转化为经典的背包问题,通过贪心算法来寻找最优解。在这个问题中,我们有一只老鼠,它拥有M磅的猫食,需要在N个房间中通过交换...

    PJBlog2 FatMouse模板

    【PJBlog2 FatMouse模板】是一款专为PJBlog2博客系统设计的个性化主题,它旨在提升用户网站的视觉效果和用户体验。PJBlog2是一个开源的博客系统,深受个人和小型团队喜爱,因其易于使用和高度可定制性而受到广泛欢迎...

    杭电ACM课件(lecture-04)动态规划.ppt

    在 FatMouse's Speed 问题中,动态规划同样大放异彩。通过对老鼠的重量和速度进行排序,我们可以利用动态规划的策略来优化速度的计算和比较过程,快速得到问题的解。 动态规划之所以在算法竞赛中被广泛运用,源于它...

    fatmouse的c++

    《fatmouse的C++》是针对C++编程语言的一个初级教程,主要面向初学者,旨在帮助他们快速入门C++编程。C++是一种通用的、面向对象的编程语言,由Bjarne Stroustrup在C语言的基础上发展而来,具有高效、灵活和强大的...

    ACM 教学课件 PPT 杭州电子科技大学

    - 1009: FatMouse' Trade:这题难度稍增,但思路清晰,通过排序和优化策略即可解答。 【题目分类】 课件将题目分为两类: 1. 傻瓜型:如1004和1008,这类题目对参赛者的技术要求较低,主要测试基础编程能力。 2. ...

    PJBlog2 两个人的世界

    标题 "PJBlog2 两个人的世界" 指的是一款基于PJBlog平台的个性化主题模板,主要面向情侣或个人分享日常生活、情感故事等。这个描述暗示了该模板设计温馨、浪漫,可能包含了一些特色功能,如双人日记、互动模块或者...

    浙江大学ACM题解/ZJU 题型分类

    1107 FatMouse and Cheese 简单题,不过题目描述有些混乱 1136 Multiple 简单题,BFS 1276 Optimal Array Multiplication Sequence 简单题 1255 The Path 简单题 1250 Always On the Run 简单题 1213 ...

    ACM题目&答案

    例如,“Sum Problem”可能需要计算连续整数的和,“Number Sequence”可能涉及特定的数字序列操作,“Elevator”可能与电梯调度算法有关,而“FatMouse' Trade”可能是一个涉及动态规划或搜索策略的问题。...

    贪心算法-计算机编程 数据结构

    在描述中提到的“FatMouse's Trade”问题是一个典型的贪心算法应用实例。问题设定是FatMouse有M磅的猫粮,想要换取JavaBean,仓库中的每个房间含有不同数量的JavaBean,需要付出相应数量的猫粮,而且可以选择支付...

    习题集 acm

    6. **FatMouse' Trade**: 可能是一个基于策略的游戏问题,要求计算最优交易策略。解题时需要深入理解游戏规则,并能构建有效的算法模型。 7. **Fibonacci Again**: 与斐波那契数列相关的题目,除了常规的递归和...

    贪心与动态规划专题(一)

    在给定的题目"FatMouse's Trade"中,问题涉及到如何用有限的猫粮(贪心决策变量)换取最多的JavaBean(目标变量),并且每间仓库的交易比例可以是任意实数。由于这个问题没有明确的最优子结构特征,因此不适合直接...

    JSU_动态规划_dp1

    1001 计算直线的交点数 1002 FatMouse's Speed1003 Common Subsequence1004 Max Sum 1005 Super Jumping! Jumping! Jumping! 1006 免费馅饼 1007 Humble Numbers1008 Monkey and Banana 1009 龟兔赛跑 1010 数塔

    211和985-计算机考研复试上机题常考题汇总.zip

    9. 胖老鼠的游戏:1433FatMouse'Trede.cpp - 这可能是关于游戏策略或动态规划的问题,需要分析老鼠的移动规则,可能涉及矩阵或网格数据结构的处理。 以上题目覆盖了计算机科学的基础知识,包括算法、数据结构、...

    ZJU_ACM_All_Anwer 搞编程的都知道的浙江大学A 题库.本书 集了所有经 Z 题解集,集合并附 Mathimaticsumerical algorithms 数值算法

    1107 FatMouse and Cheese 简单题,不过题目描述有些混乱 1136 Multiple 简单题,BFS 1276 Optimal Array Multiplication Sequence 简单题 1255 The Path 简单题 1250 Always On the Run 简单题 1213 ...

    翁凯java课件

    总的来说,"翁凯java课件 FatMouse"提供了一个全面的Java学习路径,从基础的语法和面向对象编程,到高级特性如GUI开发和项目实践。通过这些材料,学习者可以系统地提升自己的Java编程技能,并且通过实际的项目练习...

    pku 题目详细分类

    同样,1100题“Mondriaan's Dream”和1107题“FatMouse and Cheese”虽然也属于动态规划,但可能需要更复杂的组合公式或技巧。 对于一些题目,如1066题“Square Ice”和1245题“Triangles”,可能需要更高级的算法...

    杭州电子大学动态规划课件

    最后,课件中还提到一个问题"FatMouse's Speed",这是一个可能需要动态规划解决的实际应用问题,但具体解题策略并未给出,通常这类问题可以通过定义状态和状态转移方程来解决。 总的来说,杭州电子大学的动态规划...

    动态规划 dp 讲义(一)

    最后,我们看一个HDOJ_1160题——FatMouse's Speed。这个问题涉及到给定一组老鼠的重量和速度,我们要找出每只老鼠被猫抓住的概率,并返回最小概率。为了解决这个问题,我们可以先按照老鼠的重量和速度排序,然后...

Global site tag (gtag.js) - Google Analytics