首页 > 学院 > 开发设计 > 正文

Home work

2019-11-06 08:13:33
字体:
来源:转载
供稿:网友
Submit: 618  Solved: 77[Submit][Status][Web Board]Description临近开学了,大家都忙着收拾行李准备返校,但I_Love_C却不为此担心! 因为他的心思全在暑假作业上:目前为止还未开动(-_-!!还以为他有多冷静呢)。暑假作业是很多张试卷,我们这些从试卷里爬出来的人都知道,卷子上的题目有选择题、填空题、简答题、证明题等。 而做选择题的好处就在于工作量很少,但又因为选择题题目都普遍很长。 如果有5张试卷,其中4张是选择题,最后一张是填空题,很明显做最后一张所花的时间要比前4张长很多。 但如果你只做了选择题,虽然工作量很少,但表面上看起来也已经做了4/5的作业了。 I_Love_C决定就用这样的方法来蒙混过关。他统计出了做完每一张试卷所需的时间以及它做完后能得到的价值(按上面的原理,选择题越多价值当然就越高咯)。 现在就请你帮他安排一下,用他仅剩的一点时间来做最有价值的作业。Input测试数据包括多组。 每组测试数据以两个整数M,N(0≤M≤20, 1≤N≤10000)开头,分别表示试卷的数目和I_Love_C剩下的时间。 接下来有M行,每行包括两个整数T,V(1≤T≤N,0<V<10000),分别表示做完这张试卷所需的时间以及做完后能得到的价值! 输入以0 0结束。Output对应每组测试数据输出I_Love_C能获得的最大价值。保留小数点2位Sample Input4 204 105 2210 31 20 0Sample Output37.00HINTfloat的精度可能不够。 你应该使用double类型。 报告参见http://acm.zjgsu.edu.cn/Report/1001/1001.htmlSource

freePRoblemset

终于开学了生气 堕落了一个假期的我要好好学习了

尽管开学五天了 啥也没干

作为一个大二狗还没有大一的小鲜肉刷题多大哭

是时候努力了

看完这个题就会知道要算出来效率,然后排序相加就阔以嘞

具体是这个样子的:

#include <stdio.h>#include <stdlib.h>struct node{    double time,val;    double t_val;}a[22];    //定义一个结构体包括时间,价值 和效率int main(){    int m,n;    double temp_t,temp_v;    int i,j;    double sum=0,temp;while(scanf("%d %d",&m,&n),n||m){    for(i=0;i<m;i++){        scanf("%lf%lf",&a[i].time,&a[i].val);        a[i].t_val=a[i].val/a[i].time;    }  //数据的输入    for(i=0;i<m-1;i++) {        for(j=0;j<m-1-i;j++){                if(a[i].t_val<=a[i+1].t_val){                      temp=a[i].t_val;                      a[i].t_val=a[i+1].t_val;                      a[i+1].t_val=temp;                       temp_t=a[i].time;                      a[i].time=a[i+1].time;                      a[i+1].time=temp_t;                       temp_v=a[i].val;                      a[i].val=a[i+1].val;                      a[i+1].val=temp_v;                }        }    } //对数据进行处理 从大到小排序 //这里要注意的是把时间价值也要换    for(i=0;i<m;i++){            if(n>=a[i].time){  //如果时间够的话,就加上效率最高的,                sum+=a[i].val;                n-=a[i].time; //并且从总时间里减去索要花费的时间            }              else{                sum+=n*a[i].t_val;//把剩下的时间做没有做完的卷子                break;            }    }    printf("%.2lf/n",sum);}    return 0;}在编译器上的运行是正确的,可是不知道为啥提交不上哭

好气呀 

作为一个资深学渣 真的不知道怎么改

可怜

好希望有大神带我   可是大神都好忙

先记录下来,以后修改呀委屈


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表