Eeljiang 2015-11-10 05:10 采纳率: 0%
浏览 1663

acm水题求解,关于贪心算法

#include
#include
#include
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop /
    
int main(int argc, char
* argv) {
     int M,N;
     while(cin>>M>>N)
     {
          if(M==-1 && N==-1)
          break;
          {     double j[1001];
               double f[1001];
               double x[1001];
               for(int i=0; i                {
                    cin>>j[i];
                    cin>>f[i];
                                       
               }
               for(int k=0; k<N; k++)    //性价比
               {
                    x[k] = j[k] / f[k];
               }
              
               for(int i=0; i<N; i++)   //性价比排序
               {
                    for(int k=i+1; k<N; k++)
                    {
                         if(x[i]<x[k])
                         {
                              double temp = x[i];
                              x[i] = x[k];
                              x[k] = temp;
                              temp = j[i];
                              j[i] = j[k];
                              j[k] = temp;
                              temp = f[i];
                              f[i] = f[k];
                              f[k] = temp;
                             
                         }
                        
                    }
                   
               }
              
              
               double sum = 0;
               for(int i=0; i<N; i++)
               {
                    if(M==0)
                    break;
                   
                    for(int k=0; k<f[i]; k++)
                    {
                         if(M==0)
                         break;
                         sum = sum + x[i];
                         M--;                                                                     
                    }
               }
              
                
               cout<<setiosflags(ios::fixed)<<setprecision(3)<<sum<<endl;
              
          }
         
     }
    
     return 0;
}

    

  • 写回答

3条回答 默认 最新

  • Eeljiang 2015-11-10 05:10
    关注

    给的Wa,不知道该怎么测试。还不会其他高级的知识呢。

    评论

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料