#P3545. 银行业务队列

银行业务队列

题目描述

小明前往银行办理业务,该银行设有A、B两个业务窗口,两个窗口的业务处理速度不同:A窗口的处理速度是B窗口的2倍,即A窗口每处理完2个顾客时,B窗口恰好处理完1个顾客。

给定到达银行的顾客序列,请你按照业务完成的先后顺序输出顾客序列。规定:

  1. 不考虑顾客先后到达的时间间隔;
  2. 若不同窗口同时处理完业务,A窗口的顾客优先输出;
  3. 编号为奇数的顾客需到A窗口办理业务,编号为偶数的顾客需到B窗口办理业务。

输入格式

输入包含多组测试数据,每组数据为一行正整数:

  • 第一个数字N(≤1000)为顾客总数;
  • 后面紧跟N个整数,依次为各位顾客的编号。

数字之间以空格分隔。

输出格式

对于每组输入,在一行中按业务处理完成的顺序输出顾客的编号,数字之间以空格分隔。

样例输入

8 2 1 3 9 4 11 13 15
1 6

样例输出

1 3 2 9 11 4 13 15
6

样例解释

第一组测试数据(8位顾客)

  1. 按规则分配窗口:
    • A窗口(奇数编号):[1, 3, 9, 11, 13, 15]
    • B窗口(偶数编号):[2, 4]
  2. 按处理速度处理(A每处理2个,B处理1个):
    • 第一轮:A处理前2个(1、3),B处理前1个(2)→ 输出顺序 1 3 2;
    • 第二轮:A处理接下来2个(9、11),B处理接下来1个(4)→ 输出顺序 9 11 4;
    • 第三轮:A剩余2个(13、15),B无顾客,依次处理即可 → 输出顺序 13 15;
  3. 合并所有输出顺序,得到最终结果:1 3 2 9 11 4 13 15。

第二组测试数据(1位顾客)

唯一顾客编号为6(偶数),分配至B窗口,直接输出即可。