PAT 乙级 1020

来源:互联网 发布:周杰伦婚礼进行曲 知乎 编辑:程序博客网 时间:2024/05/22 14:14

这一题我有一个地方过不了,感觉是整数相除精度缺失,我把俩个类型改成double就交ac了。hdu 的fatmouse这一题跟着类似

#include<iostream>#include<algorithm>using namespace std;struct moon{double kc;double sj;double average; };bool cmp(moon a, moon b){return a.average>b.average;}int main(){int n;int needs;cin>>n>>needs;moon c[n];for(int i=0;i<n;i++){cin>>c[i].kc;}for(int i=0;i<n;i++){cin>>c[i].sj;c[i].average=c[i].sj*1.0/c[i].kc;}sort(c,c+n,cmp);double sum=0;for(int i=0;i<n;i++){if(needs==0)  break;else{if(needs>=c[i].kc){needs-=c[i].kc;sum+=c[i].sj;}else{sum+=needs*1.0/c[i].kc*c[i].sj;    needs=0;} }}//sum+=0.005;printf("%.2lf\n",sum);return 0;} 


原创粉丝点击