銀行業務佇列簡單模擬

2022-08-22 00:00:21 字數 1171 閱讀 3096

銀行業務佇列簡單模擬

設某銀行有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

分析:此題應該建立兩個佇列,乙個用來儲存奇數,乙個用來儲存偶數。然後根據兩個佇列元素個數的關係,進行兩種情況的輸出。

時刻注意佇列是否為空,這是**執行較為關鍵的一點。

**如下:

#includeusing

namespace

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視窗顧客優先輸出。輸入格式 輸入...