比如银行有5个窗口,每天从早上9:00~下午6:00营业。
每个客户所办理的业务所需的时间各自不同,但是在[1,60]分钟范围内。
 
问题1:先营业厅内有100位顾客排队等候,怎样排队客户等待时间最短并且银行处理的业务最多?
-------------------------------------------------------
问题2:每5分钟又进1个人,那么怎样排队?
-------------------------------------------------------
问题3:每5分钟进一波客人每次人数[1,5]
-------------------------------------------------------
问题4:推出了新的业务,金卡客户可以优先办理,但是无金卡客户,则为普通卡用户办理业务,问?以此类推,将问题复杂化,就可以解决现实问题。请问,各位大侠,能否帮解决一下???最简单的也好。谢谢!!

解决方案 »

  1.   

    问题1:先营业厅内有100位顾客排队等候,怎样排队客户等待时间最短并且银行处理的业务最多? 
    =====================================================================================
    我觉得你给的这个条件是理想情况下的,实际办理业务的时候可能100个人拿了号但是走了90个人。工作人员办理的时间也不是固定的如果是我来处理这个问题的话非常简单就是生产者/消费者模型。无论多少人拿了号都把他们放到一个FIFO队列里,对于金卡用户可以设定一个加塞的规则。然后每个窗口来消费,对于实际需求来说有些窗口可能有会优先办理某些业务,而对应的业务没有后可以办理其他的业务