PTA 数据结构 银行业务队列简单模拟

仅供参考,请勿粘贴

设某银行有A、B两个业务窗口,且处理业务的速度不一样,其中A窗口处理速度是B窗口的2倍 —— 即当A窗口每处理完2个顾客时,B窗口处理完1个顾客。给定到达银行的顾客序列,请按业务完成的顺序输出顾客序列。假定不考虑顾客先后到达的时间间隔,并且当不同窗口同时处理完2个顾客时,A窗口顾客优先输出。

输入格式:

输入为一行正整数,其中第1个数字N(≤1000)为顾客总数,后面跟着N位顾客的编号。编号为奇数的顾客需要到A窗口办理业务,为偶数的顾客则去B窗口。数字间以空格分隔。

输出格式:

按业务处理完成的顺序输出顾客的编号。数字间以空格分隔,但最后一个编号后不能有多余的空格。

输入样例:

8 2 1 3 9 4 11 13 15

输出样例:

1 3 2 9 11 4 13 15
#include <iostream>
#include <cstdio>
#include <string>
#include <cmath>
#include <deque>
#include <algorithm>
#include <vector>
#include <stack>
using namespace std;
const int maxn = 1010;
int main()
{
    deque<int> winA;
    deque<int> winB;
    int n;
    ios::sync_with_stdio(false);
    cin>>n;
    int cus;
    for(int i=0;i<n;i++)
    {
        cin>>cus;
        if(cus&1)
            winA.push_back(cus);
        else
            winB.push_back(cus);
    }
    while(!winA.empty()||!winB.empty())
    {
        int index = 2;
        while(index&&!winA.empty())
        {
            index--;
            int s = winA.front();
            winA.pop_front();
            cout<<s;
            if(winA.empty()&&winB.empty())
                cout<<endl;
            else
                cout<<" ";
        }
        if(!winB.empty())
        {
            int s =winB.front();
            winB.pop_front();
            cout<<s;
            if(winA.empty()&&winB.empty())
                cout<<endl;
            else
                cout<<" ";
        }
    }
}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏丑胖侠

以太坊中以太币及代币计量单位

首先我们来看一下以太币单位之间的转换,以太币的最小单位为wei,1个eth相当于10的8次方wei。通常,大家也使用Gwei作为展示单位。比较常用的就是eth,...

29210
来自专栏阮一峰的网络日志

四位计算机的原理及其实现

你是否想过,计算机为什么会加减乘除?或者更直接一点,计算机的原理到底是什么? Waitingforfriday有一篇详细的教程,讲解了如何自己动手,制作一台四位...

3236
来自专栏Pythonista

day25 map,filter,reduce 内置函数,作业

=====================作业一 #用map来处理字符串列表啊,把列表中所有人都变成sb,比方alex_sb name=['alex','wup...

501
来自专栏数据结构笔记

使用 time库进行时间戳和日期的转换

502
来自专栏一个会写诗的程序员的博客

第10章 集合类与泛型

10.1 Kotlin集合类 10.1.1 不可变集合类 10.1.1.1 List 10.1.1.2 Set 10.1.1.3 Map

663
来自专栏Java帮帮-微信公众号-技术文章全总结

Java案例-打印图形与π

五一国际劳动节又称国际劳动节、劳动节,是世界上大多数国家的劳动节。节日源于美国芝加哥城的工人大罢工,为纪念这次伟大的工人运动,1889年的第二国际成立大会上宣布...

2825
来自专栏Laoqi's Linux运维专列

if 条件语句

3518
来自专栏小樱的经验随笔

hihoCoder 1039:字符消除(字符串处理)

#1039 : 字符消除 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi最近在玩一个字符消除游戏。给定一个只包含大写字母"A...

2698
来自专栏JetpropelledSnake

Python入门之实现简单的购物车功能

Talk is cheap,Let's do this! product_list = [ ['Iphone7 Plus', 6500], ['...

3136
来自专栏xingoo, 一个梦想做发明家的程序员

CListBox

CListBox 一:词条简介 CObject←CCmdTarget←CWnd←CListBox CListBox类提供Windows列表框的功能。列表框显...

1758

扫码关注云+社区