1. 程式人生 > >7-5 銀行業務佇列簡單模擬(25 point(s))

7-5 銀行業務佇列簡單模擬(25 point(s))

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

佇列問題
code: 
#include <stdio.h>
#include <string.h>
int main(){
	int a[1005],b[1005];//佇列a,b; 
	int ahead,bhead,atail,btail;//相當於頭尾指標 
	ahead = bhead = atail = btail = 0;//初始化為零 
	int i;
	int n,x;//x用於暫時儲存輸入的資料 
	scanf("%d",&n);
	for(i = 0; i < n; i++){
		scanf("%d",&x);
		if(x&1)a[atail++] = x;
		else b[btail++] = x;//奇數進入a,偶數進入b 
	}
	int flag = 0;
	while(ahead<atail||bhead<btail){//只要有一個佇列不是空迴圈就要繼續進行,直到空為止 
		if(ahead<atail){
			if(!flag)printf("%d",a[ahead++]);
			else printf(" %d",a[ahead++]);
			flag = 1;	
		}
		if(ahead<atail)printf(" %d",a[ahead++]);
		if(bhead<btail){
			if(!flag)printf("%d",b[bhead++]);
			else printf(" %d",b[bhead++]);
			flag = 1;
		}
	}
	return 0;
}


相關推薦

7-5 銀行業務佇列簡單模擬25 point(s)

設某銀行有A、B兩個業務視窗,且處理業務的速度不一樣,其中A視窗處理速度是B視窗的2倍 —— 即當A視窗每處理完2個顧客時,B視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同時處理完2個顧客時,A視窗顧客優先輸出。 輸入格式: 輸

7-5 銀行業務佇列簡單模擬 25

7-5 銀行業務佇列簡單模擬 (25 分) 設某銀行有A、B兩個業務視窗,且處理業務的速度不一樣,其中A視窗處理速度是B視窗的2倍 —— 即當A視窗每處理完2個顧客時,B視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間

第三章作業題3--佇列-計算機17級 7-1 銀行業務佇列簡單模擬 25

7-1 銀行業務佇列簡單模擬 (25 分) 設某銀行有A、B兩個業務視窗,且處理業務的速度不一樣,其中A視窗處理速度是B視窗的2倍 —— 即當A視窗每處理完2個顧客時,B視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時

7-7 銀行業務佇列簡單模擬25

設某銀行有A、B兩個業務視窗,且處理業務的速度不一樣,其中A視窗處理速度是B視窗的2倍 —— 即當A視窗每處理完2個顧客時,B視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同時處理完2個顧客時,A視

資料結構與演算法題目集7-18——銀行業務佇列簡單模擬

我的資料結構與演算法題目集程式碼倉:https://github.com/617076674/Data-structure-and-algorithm-topic-set 原題連結:https://pintia.cn/problem-sets/15/problems/825 題目描述:

資料結構-銀行業務佇列簡單模擬

7-5 銀行業務佇列簡單模擬 (25 分) 設某銀行有A、B兩個業務視窗,且處理業務的速度不一樣,其中A視窗處理速度是B視窗的2倍 —— 即當A視窗每處理完2個顧客時,B視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同

銀行業務佇列簡單模擬

設某銀行有A、B兩個業務視窗,且處理業務的速度不一樣,其中A視窗處理速度是B視窗的2倍 —— 即當A視窗每處理完2個顧客時,B視窗處理完1個顧客。給定到達銀行的顧客序列,請按業務完成的順序輸出顧客序列。假定不考慮顧客先後到達的時間間隔,並且當不同視窗同時處理完2

銀行業務佇列簡單模擬 PTA

#include #include <stdio.h> #define MAXSIZE 1000 #define OVERFLOW -2 #define OK 1 #define ERROR -1 //銀行業務佇列簡單模擬 using namespace std; typede

習題6-7 簡單計算器 20 point(s)

習題6-7 簡單計算器 (20 point(s)) 模擬簡單運算器的工作。假設計算器只能進行加減乘除運算,運算數和結果都是整數,四種運算子的優先順序相同,按從左到右的順序計算。 輸入格式: 輸入在一行中給出一個四則運算算式,沒有空格,且至少有一個運算元。遇等號”=”說明輸入結束。 輸

習題7-8 字串轉換成十進位制整數 15 point(s)

習題7-8 字串轉換成十進位制整數 (15 point(s)) 輸入一個以#結束的字串,本題要求濾去所有的非十六進位制字元(不分大小寫),組成一個新的表示十六進位制數字的字串,然後將其轉換為十進位制數後輸出。如果在第一個十六進位制字元之前存在字元“-”,則代表該數是負數。 輸入格式: 輸

7-10 樹的同構25 point(s)

給定兩棵樹T1和T2。如果T1可以通過若干次左右孩子互換就變成T2,則我們稱兩棵樹是“同構”的。例如圖1給出的兩棵樹就是同構的,因為我們把其中一棵樹的結點A、B、G的左右孩子互換後,就得到另外一棵樹。而圖2就不是同構的。 圖1 圖2 現給定兩棵樹,請你判斷它們是否是同構的。 輸入格式: 輸入給出2棵二叉

7-23 哥尼斯堡的“七橋問題”25 point(s)

哥尼斯堡是位於普累格河上的一座城市,它包含兩個島嶼及連線它們的七座橋,如下圖所示。 可否走過這樣的七座橋,而且每橋只走過一次?瑞士數學家尤拉(Leonhard Euler,1707—1783)最終解決了這個問題,並由此創立了拓撲學。 這個問題如今可以描述為判斷歐拉回路是否存在的問題。歐拉回路是指不令筆離開

1149 Dangerous Goods Packaging25 point(s)

1149 Dangerous Goods Packaging(25 point(s)) When shipping goods with containers, we have to be careful not to pack some incompatible goods into

1024 Palindromic Number25 point(s)

A number that will be the same when it is written forwards or backwards is known as a Palindromic Number. For example, 1234321 is a palindromic

1044 Shopping in Mars (25)25 point(s)

Shopping in Mars is quite a different experience. The Mars people pay by chained diamonds. Each diamond has a value (in Mars dollars M). When making

1048 Find Coins (25)25 point(s)

Eva loves to collect coins from all over the universe, including some other planets like Mars. One day she visited a universal shopping mall which c

1089 Insert or Merge25 point(s)

According to Wikipedia: Insertion sort iterates, consuming one input element each repetition, and growing a sorted output list. Each iteration,

1030 完美數列(25)25 point(s)

給定一個正整數數列,和正整數,設這個數列中的最大值是,最小值是,如果,則稱這個數列是完美數列。 現在給定引數和一些正整數,請你從中選擇儘可能多的數構成一個完美數列。 輸入格式: 輸入第一行給出兩個正整數N和p,其中()是輸入的正整數的個數,()是給定的引數。第二行給出個正整數,每個數

1012 The Best Rank 25 point(s)

To evaluate the performance of our first year CS majored students, we consider their grades of three courses only: C - C Programming Language, M - Mat

1010 Radix 25 point(s)

1010 Radix (25 point(s)) Given a pair of positive integers, for example, 6 and 110, can this equation 6 = 110 be true? The answer is yes, if 6 is a