Advertisement

1-6 银行业务队列的简单模拟(25分)

阅读量:

设某银行有两个业务服务台(记为A和B),其服务效率存在差异性——具体而言,在相同时间段内A台可服务两批顾客而B台仅能完成一批顾客的服务工作。给定一个顾客到达序列,请按照各服务台完成任务的先后顺序输出该序列的具体排列情况。假设各顾客之间的到达时间间隔对系统运行没有影响,在两个服务台同时完成接收两个顾客服务的情形下,则规定由A号服务台优先输出其等待队列中的顾客。

输入格式:

输入是一行正整数N(不超过1000),其后紧跟N位顾客的信息。其中所有具有奇数值编号(即奇号)的顾客应当前往A服务窗口处理事务;而所有具有偶数值编号(即偶号)的顾客应前往B服务窗口办理相关手续。各数字之间用空格分隔开以确保数据正确无误。

输出格式:

按照业务处理完成后排列顾客号码,并用空格分隔数字。最后一个号码之后不允许有多余的空格

输入样例:

复制代码
    8 2 1 3 9 4 11 13 15

输出样例:

复制代码
    1 3 2 9 11 4 13 15

解题思路:

输入的N位顾客可能都包含奇數與偶數兩種類型或仅一種類型的情況,因此我們將輸入數據分為奇數與偶數為兩個數據結構儲存.特别注意,在輸出時只要有任何一個數據結構未結束就需要繼續輸出,(具體來说是當一個數據結構結束時另一個還有數據存在的情況,因此我們設定判断

全部评论 (0)

还没有任何评论哟~