| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 636 人关注过本帖
标题:代码不对么 怎么提交不过
只看楼主 加入收藏
a1004573547
Rank: 2
等 级:论坛游民
帖 子:78
专家分:25
注 册:2013-3-11
结帖率:40%
收藏
已结贴  问题点数:10 回复次数:7 
代码不对么 怎么提交不过
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
Han_FlyB
Rank: 6Rank: 6
等 级:侠之大者
帖 子:143
专家分:424
注 册:2013-3-25
收藏
得分:3 
从来没见过有这样用的: while(scanf("%d%d",&n,&m)&&n>0&&m>0)

你就不能scanf后再进行判断么
2013-03-27 13:51
shmilyflf
Rank: 9Rank: 9Rank: 9
等 级:蜘蛛侠
威 望:5
帖 子:356
专家分:1008
注 册:2012-12-9
收藏
得分:3 
哇,英文的题目……ACM吗?看不懂……
2013-03-27 13:59
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:3 
解释一下,sun函数中 n的作用

而且
while(m>0&&n-->0)以后不要再写了,短路 会把你坑死的


[fly]存在即是合理[/fly]
2013-03-27 14:35
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
azzbcc
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:江西财经大学
等 级:贵宾
威 望:81
帖 子:3293
专家分:12919
注 册:2012-11-4
收藏
得分:0 
算法没错的,百度了下才明白

1 0
0.000

0 3
10 0
5 0
1 0
16.000

明白了么?


[fly]存在即是合理[/fly]
2013-03-27 20:51
a1004573547
Rank: 2
等 级:论坛游民
帖 子:78
专家分:25
注 册:2013-3-11
收藏
得分:0 
回复 7楼 azzbcc
明白,谢谢!!
2013-03-27 21:02
快速回复:代码不对么 怎么提交不过
数据加载中...
 
   



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

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