• CSU 1588 合并果子(贪心 优先队列)


    #include<cstdio>
    #include<cstring>
    #include<cmath>
    #include<queue>
    #include<iostream>
    #include<algorithm>    //friend bool operator < (Node a,Node b){ return a.coun>b.coun; }  priority_queue<double> Q;
    using namespace std;
    struct node
    {
        int num;
        friend bool operator <(node a,node b) {return a.num>b.num;}
    };
    int main()
    {
        int t,n;
        int i,j,k;
    
        scanf("%d",&t);
        while(t--)
        {
            node now,now1;
            priority_queue<node> q;
            scanf("%d",&n);
            for(i=0;i<n;i++)
            {
                scanf("%d",&now.num);
                q.push(now);
            }
            /*while(!q.empty())
            {
                 now=q.top();
                q.pop();
                printf("%d,.,.
    ",now.num);
            }*/
            int ans=0;
            ans+=q.top().num;
            q.pop();
            ans+=q.top().num;
            q.pop();
            now.num=ans;
            q.push(now);
            //printf("%d...
    ",ans);
            while(!q.empty())
            {
               now=q.top();
               q.pop();
               now1=q.top();
               q.pop();
              // printf("%d %d
    ",now.num,now1.num);
               ans+=(now.num+now1.num);
               now.num+=now1.num;
               if(!q.empty())
               q.push(now);
            }
            printf("%d
    ",ans);
        }
        return 0;
    }
    
  • 相关阅读:
    Java应用程序的运行机制
    IO流——字符流
    IO流——字节流
    Java API --- File类
    SSM框架整合
    Mybatis核心组件
    AJAX 练习
    设计者模式
    软件七大设计原则
    并发编程
  • 原文地址:https://www.cnblogs.com/sola1994/p/4615013.html
Copyright © 2020-2023  润新知