zoukankan      html  css  js  c++  java
  • POJ 2051 Argus

    /* 题目要求按注册者报告返回的时间顺序输出注册者的
    * 编号,如果同一时间按出现,则先输出序号小的
    * 大体思路:这个方法有点慢,先对注册者排序,然后每次输出
    * 最先返回的,用find_min来找到最先返回的,复杂度有点高。
    */

    #include<iostream>
    #include
    <algorithm>
    using namespace std;
    struct Node{
        
    int val;
        
    int reg;
        
    int sum;
    }node[
    10000];
    int n,k;
    int find_min()
    {
        
    int min = node[0].sum;
        
    int pos = 0;
        
    for(int i=1;i<n;++i)
            
    if(min>node[i].sum)
            {
                min 
    = node[i].sum;
                pos 
    = i;
            }
        
    return pos;
    }
    int cmp(const Node& a,const Node& b)
    {
        
    return a.reg<b.reg;
        }

    int main()
    {
        
    char str[15];
        
    int rgt,value,index,i,j;
        n 
    = 0;
        
    while(1)
        {
            scanf(
    "%s",str);
            
    if(!strcmp(str,"#"))
                
    break;
            scanf(
    "%d%d",&node[n].reg,&node[n].val);    
            node[n].sum 
    = node[n].val;
            
    ++n;
        }
        sort(node,node
    +n,cmp);
        scanf(
    "%d",&k);
        
    for(i=0;i<k;++i)
        {
            index 
    = find_min();
            node[index].sum 
    +=node[index].val;
            printf(
    "%d\n",node[index].reg);
        }
        
    return 0;
    }

  • 相关阅读:
    服务器性能监控工具(MQTT协议)
    最近很烦
    开关柜无线测温数据中心后台
    合宙DTU数据流模板modbus lua脚本生成器
    4G无线-潮信报警器
    4G无线-sever酱报警器
    url_for函数——快速寻找url
    完整版模板项目实战【实战演练】
    忽略这1点,代码写的再好也没用
    不会汇报工作,工作做得再好也白瞎
  • 原文地址:https://www.cnblogs.com/lvpengms/p/1662788.html
Copyright © 2011-2022 走看看