zoukankan      html  css  js  c++  java
  • PAT (Advanced Level) 1017 Queueing at Bank

    题解

             模拟。记得把早于8:00达到的人的等待时间加上。

    代码

    #include<bits/stdc++.h>
    using namespace std;
    struct node
    {
        int time,get_time,p_time;
        node(int c,int a,int b)
        {
            time=c;
            get_time=a;
            p_time=b;
        }
        bool operator <(const node & n) const
        {
            if(get_time!=n.get_time)
                return get_time<n.get_time;
            else
                return time<n.time;
        }
    };
    vector<node> v;
    int limit_up,limit_down,finish[105];
    int str_to_sec(string str);
    int main()
    {
        int i,n,k,p_time,get_time,time,ans=0;
        string str;
        limit_up=str_to_sec("08:00:00");
        limit_down=str_to_sec("17:00:00");
        scanf("%d%d",&n,&k);
        for(i=0;i<n;i++)
        {
            cin>>str>>p_time;
            get_time=time=str_to_sec(str);
            if(time>limit_down) continue;
            else
            {
                if(time<limit_up)
                {
                    ans+=(limit_up-time);
                    get_time=limit_up;
                }
                v.push_back(node(time,get_time,p_time*60));
            }
        }
        sort(v.begin(),v.end());
        for(i=0;i<v.size();i++)
        {
            sort(finish,finish+k);
            if(v[i].get_time<finish[0])
            {
                ans+=finish[0]-v[i].get_time;
                finish[0]+=v[i].p_time;
            }
            else
            {
                finish[0]=v[i].get_time+v[i].p_time;
            }
        }
        printf("%.1lf",ans/(v.size()*60.0));
        system("pause");
        return 0;
    }
    int str_to_sec(string str)
    {
      int h,m,s;
      h=(str[0]-'0')*10+str[1]-'0';
      m=(str[3]-'0')*10+str[4]-'0';
      s=(str[6]-'0')*10+str[7]-'0';
      return h*3600+m*60+s;
    }
  • 相关阅读:
    angularjs 判断是否包含 permIDs|filter:'10'
    js日期格式化
    JSON格式检验
    CodeSmith Generator 6.5
    Hosts文件说明
    正则表达式匹配换行实例代码
    Codeforces 311E Biologist
    URAL 1349 Farm
    [SDOI2015] 序列统计
    洛谷 P3803 多项式乘法
  • 原文地址:https://www.cnblogs.com/VividBinGo/p/12221529.html
Copyright © 2011-2022 走看看