銀行業務佇列簡單模擬
設某銀行有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
分析:此題應該建立兩個佇列,乙個用來儲存奇數,乙個用來儲存偶數。然後根據兩個佇列元素個數的關係,進行兩種情況的輸出。時刻注意佇列是否為空,這是**執行較為關鍵的一點。
**如下:
#includeusingnamespace
std;
struct queue //
建立乙個佇列 ;
void init(queue *q) //
初始化
void push(queue &q,int num) //
佇列輸入
int pop(queue &q) //
佇列輸出
intmain()
else
}if(ca>2*cb) //
佇列的輸出(第一種可能)
if(ca!=0
)
if(cb!=0
) }}
}if(ca<=cb*2) //
佇列的輸出(第二種可能)
if(cb!=0
) }}}
return0;
}
---恢復內容結束---
銀行業務佇列簡單模擬
設某銀行有a b兩個業務視窗,且處理業務的速度不一樣,其中a視窗處理速度是b視窗的2倍 即當a視窗每處理完2個顧客時,b視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同時處理完2個顧客時,a視窗顧客優先輸出。輸入為一行正整...
銀行業務佇列簡單模擬
設某銀行有a b兩個業務視窗,且處理業務的速度不一樣,其中a視窗處理速度是b視窗的2倍 即當a視窗每處理完2個顧客時,b視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同時處理完2個顧客時,a視窗顧客優先輸出。輸入格式 輸入...
銀行業務佇列簡單模擬
設某銀行有a b兩個業務視窗,且處理業務的速度不一樣,其中a視窗處理速度是b視窗的2倍 即當a視窗每處理完2個顧客時,b視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同時處理完2個顧客時,a視窗顧客優先輸出。輸入格式 輸入...