| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 636 人关注过本帖
标题:代码不对么 怎么提交不过
取消只看楼主 加入收藏
a1004573547
Rank: 2
等 级:论坛游民
帖 子:78
专家分:25
注 册:2013-3-11
结帖率:40%
收藏
已结贴  问题点数:10 回复次数:3 
代码不对么 怎么提交不过
FatMouse' Trade

Time Limit : 2000/1000ms (Java/Other)   Memory Limit : 65536/32768K (Java/Other)
Total Submission(s) : 24   Accepted Submission(s) : 10
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
Author
CHEN, Yue
Source
ZJCPC2004



#include <stdio.h>
#include <stdlib.h>
struct BEEn
{
    int x,y;
    double rate;


}F[1000];
void sort1(struct BEEn *F,int n)
{int i,j;
struct BEEn t;
    for(i=0;i<n-1;i++)
        for(j=0;j<=n-i-2;j++)
    {
        if(F[j].rate<F[j+1].rate)
         {

         t=F[j];
            F[j]=F[j+1];
            F[j+1]=t;

         }


    }
}
double sum(struct BEEn *F,int m, int n)
{ double i=0;
int j=0;
    while(m>0&&n-->0)
    { if(F[j].y>m){   i+=F[j].x*(m*1.0/F[j].y);  m=0;   }
    else {   m-=F[j].y;  i+=F[j].x;        }
        j++;


    }
    return i;
}
int main()
{
    int i,n,m;
    while(scanf("%d%d",&n,&m)&&n>0&&m>0)
    {
        for(i=0;i<m;i++)
        {
            scanf("%d%d",&F[i].x,&F[i].y);
            F[i].rate=F[i].x*1.0/F[i].y;




        }
 sort1(F,m);

  printf("%.3lf\n",sum(F,n,m));


    }

    return 0;
}
搜索更多相关主题的帖子: cat his prepared Memory trade 
2013-03-26 22:11
a1004573547
Rank: 2
等 级:论坛游民
帖 子:78
专家分:25
注 册:2013-3-11
收藏
得分:0 
回复 2楼 Han_FlyB
习惯不好。。。以后改
2013-03-27 20:08
a1004573547
Rank: 2
等 级:论坛游民
帖 子:78
专家分:25
注 册:2013-3-11
收藏
得分:0 
回复 4楼 azzbcc
n 是那个豆仓库的数量  ,就是可能猫粮还没换完,  那个豆没有了  每次从一个仓库拿豆去换 。 猫粮足够就全换。
每次换一个仓库的n--;
2013-03-27 20:11
a1004573547
Rank: 2
等 级:论坛游民
帖 子:78
专家分:25
注 册:2013-3-11
收藏
得分:0 
回复 7楼 azzbcc
明白,谢谢!!
2013-03-27 21:02
快速回复:代码不对么 怎么提交不过
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.035562 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved