zoukankan      html  css  js  c++  java
  • 乙_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;
    }

  • 相关阅读:
    MySQL 8.0+ 时区问题
    SSM框架整合搭建流程
    最大子段和、最大子矩阵和
    棋盘覆盖(分治)
    石子合并问题
    矩阵连乘
    selenium完成滑块验证
    背包问题(2)
    背包问题(1)
    皇后问题
  • 原文地址:https://www.cnblogs.com/xueshadouhui/p/12989470.html
Copyright © 2011-2022 走看看