乙_1020 月饼 (25分)

Posted xueshadouhui

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了乙_1020 月饼 (25分)相关的知识,希望对你有一定的参考价值。

问题描述:

技术图片

 

 

总结:

 

忘记break;一直无法找见错误;

代码:

#include <iostream>
#include <cstring>
#include <algorithm>
#include <cstdio>
#include <algorithm>
//#include <sstream>
//#include <cmath>
//#include <stack>
using namespace std;
struct mc{
double pr,num,one ; 
 
}m[1010];
bool cmp(mc a, mc b){
 
 return a.one>b.one ;
 
}
 

int main()
{
 int n ,d ;
     
 cin >> n >>  d;
 
for(int i=0;i<n;i++) 
    cin >>   m[i].num ;
for(int i=0 ; i<n;i++)    {
   cin >>  m[i].pr;  
  m[i].one = m[i].pr/m[i].num;          // 按单价排序
}
//for(int i=0 ; i<n;i++)    {
//   cout <<  m[i].one << " hh"<<  m[i].pr<< " hh"<< m[i].num <<endl;
//}
//
sort(m,m+n,cmp);

 double sum =0;
for(int i=0;i<n;i++){ 
  if((d-m[i].num)>0)  {
   sum += m[i].pr;
   d = d-m[i].num;
  }
  else {
   
   sum +=  d*m[i].one;
   break;                              // key
  }
}
 printf("%.2f",sum);
 
     return 0;
}

 

 

 

 

 

 

 

 

技术图片

 

以上是关于乙_1020 月饼 (25分)的主要内容,如果未能解决你的问题,请参考以下文章

B1020 月饼(25 分)

1020 月饼 (25 分)

1020 月饼 (25分)

1020 月饼 (25 分)

1020 月饼 (25 分)

PAT乙级 1020. 月饼 (25)(只得到23分)