银行业务队列简单模拟 (25 分)c语言c++
生活随笔
收集整理的這篇文章主要介紹了
银行业务队列简单模拟 (25 分)c语言c++
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
7-2 銀行業(yè)務(wù)隊(duì)列簡(jiǎn)單模擬 (25 分)
設(shè)某銀行有A、B兩個(gè)業(yè)務(wù)窗口,且處理業(yè)務(wù)的速度不一樣,其中A窗口處理速度是B窗口的2倍 ——
即當(dāng)A窗口每處理完2個(gè)顧客時(shí),B窗口處理完1個(gè)顧客。給定到達(dá)銀行的顧客序列,請(qǐng)按業(yè)務(wù)完成的順序輸出顧客序列。假定不考慮顧客先后到達(dá)的時(shí)間間隔,并且當(dāng)不同窗口同時(shí)處理完2個(gè)顧客時(shí),A窗口顧客優(yōu)先輸出。
輸入格式:
輸入為一行正整數(shù),其中第1個(gè)數(shù)字N(≤1000)為顧客總數(shù),后面跟著N位顧客的編號(hào)。編號(hào)為奇數(shù)的顧客需要到A窗口辦理業(yè)務(wù),為偶數(shù)的顧客則去B窗口。數(shù)字間以空格分隔。
輸出格式:
按業(yè)務(wù)處理完成的順序輸出顧客的編號(hào)。數(shù)字間以空格分隔,但最后一個(gè)編號(hào)后不能有多余的空格。
輸入樣例:
8 2 1 3 9 4 11 13 15
輸出樣例:
1 3 2 9 11 4 13 15
#include<stdio.h>//c語(yǔ)言寫的有點(diǎn)亂,邏輯不太行。而且沒有隊(duì)列int main() {int n;scanf("%d",&n);int a[n];for(int i=0;i<n;i++)scanf("%d",&a[i]);int p1=0,p2=0;int cnt1=0,cnt2=0;int cnt=0;while(cnt<n){cnt1=0,cnt2=0;while(cnt1<2&&p2<n){if(a[p2]%2==1){if(cnt)printf(" ");printf("%d",a[p2]);cnt1++;cnt++;}p2++;if(p2==n)break;}while(cnt2<1&&p1<n){if(a[p1]%2==0){if(cnt)printf(" ");printf("%d",a[p1]);cnt2++;cnt++;}p1++;if(p1==n)break;}} } #include<bits/stdc++.h>//c++ using namespace std;queue<int>a;//奇數(shù)隊(duì)列 queue<int>b;//偶數(shù)隊(duì)列int main() {int n;cin>>n;for(int i=0;i<n;i++){int tem;cin>>tem;if(tem%2==1)a.push(tem);elseb.push(tem);}int cnt=0;int flag=1;while(cnt<n){int cnt1=0;while(!a.empty()&&cnt1<2){if(flag==1){cout<<a.front();flag=0;}else{cout<<" "<<a.front();}cnt1++;cnt++;a.pop();}if(!b.empty()){if(flag==1){cout<<b.front();flag=0;}elsecout<<" "<<b.front();b.pop();cnt++; }} } 與50位技術(shù)專家面對(duì)面20年技術(shù)見證,附贈(zèng)技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的银行业务队列简单模拟 (25 分)c语言c++的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: L2-1 简单计算器 (25 分)详解c
- 下一篇: L2-1 包装机 (25 分)(STL4