zoukankan      html  css  js  c++  java
  • 杭电1009

    此题仍然是一道典型贪心问题,先将javabean和猫食的比例算出来,然后将他们排序,
    最后再依次求出最佳值即可!!呵呵!也没有太多好说的,关于函数
    sort()的讲解请参考:http://www.cnblogs.com/xiohao/archive/2012/11/05/2755183.html
    ac吧!!!呵呵!!!
    #include<iostream>
    #include<algorithm>
    using namespace std;

     struct sa{
      double a1;
      double a2;
      double m;
     }a[1001];
     bool cmp(const sa &a,const sa &b)
     {
      return a.m>b.m;
     }
     int main()
     { 
     int M,N,i;
     double sum;
     while(cin>>M>>N)
     {   
      if(M==(-1)&&N==(-1))
       break;
      
      for(i=0;i<N;i++)
      {
       scanf("%lf%lf",&a[i].a1,&a[i].a2);
                a[i].m=a[i].a1/a[i].a2; 
      }
      sort(a,a+N,cmp);
        sum=0;
      for(i=0;i<N;i++)
      {
       if(M*a[i].m<=a[i].a1)
       { sum+=M*a[i].m;
       break; }     
       else
        sum+=a[i].a1;
              M-=a[i].a2;
          
      
      }

     printf("%.3lf\n",sum);
     }
     return 0;
    }

  • 相关阅读:
    P1338 末日的传说
    P1364医院设置
    线程
    进程通信
    CentOS设置中文
    C++快读讲解
    迭代加深搜索
    P1118 [USACO06FEB]Backward Digit Sums G/S
    N皇后问题
    RMQ区间最值查询
  • 原文地址:https://www.cnblogs.com/xiohao/p/2756708.html
Copyright © 2011-2022 走看看