FatMouse'贸易(贪心算法)

题目:FatMouse准备了M磅的猫粮,准备与守卫包含他最喜欢的食物JavaBean的仓库的猫交易。 
仓库有N个房间。第i个房间包含J [i]磅的JavaBeans并且需要F [i]磅的猫粮。FatMouse不需要为房间里的所有JavaBeans进行交易,相反,如果他支付F [i] *%磅的猫粮,他可能会得到J磅的JavaBeans。这是一个实数。现在他正在为你分配这个功课:告诉他他可以获得的最大JavaBeans数量。 

input:输入包含多个测试用例。每个测试用例以包含两个非负整数M和N的行开始。然后是N行,每行包含两个非负整数J [i]和F [i]。最后一个测试用例后跟两个-1。所有整数不大于1000。 

output:对于每个测试用例,在一行中打印一个实数,最多精确到3个小数位,这是FatMouse可以获得的最大JavaBeans数量。 

题解:此题要求用M的东西去换每个房间中的东西,要求同一量的东西换的东西越多越好,而且换取东西时候可以分割。

代码实现:

#include 
#include
#include 
#include
#include
using namespace std;
struct pp
{
    int j,f;         
    double ave;

} s[10000];
bool cmp(struct pp &p,struct pp &q)      
{
    return p.ave>q.ave;
}

int main()
{
    int i,m,n,k=0;
    double sum=0;
    while(scanf("%d %d",&m,&n)!=EOF)
    {
        sum=0;
        if(m==-1&&n==-1)
            break;
        for(i=0; i

刚接触C语言可能有些地方写的不是太好,请个位大佬见谅。

你可能感兴趣的:(FatMouse'贸易(贪心算法))