盲盒包装流水线(数据结构实践-栈)
題目要求:
眾所周知,PAT 有 9 枚徽章,分別對(duì)應(yīng)青銅、白銀、黃金、白金、鉆石、大師、王者、大圣、天神這 9 個(gè)段位,只有成績(jī)非常優(yōu)秀的考生才有資格獲得刻有自己名字的徽章。現(xiàn)在,PAT 制作了徽章的小型紀(jì)念版,要制成盲盒給大家玩了!
下圖是一條盲盒包裝流水線的示意圖。首先徽章通過(guò)進(jìn)貨口被壓入貨棧里,空盒在履帶上從左向右傳送。每次從貨棧里彈出一枚徽章,進(jìn)入打包機(jī),裝入一只空盒,打包后繼續(xù)向右邊傳送。當(dāng)貨棧為空時(shí),打包機(jī)會(huì)暫停,等待下一批徽章壓入貨棧。
每只盒子都有一個(gè)編號(hào),小拼姐姐手里有進(jìn)入流水線的空盒編號(hào)順序表,也有每一批送往貨棧的徽章順序表,這樣她其實(shí)可以知道每只盒子里裝了哪種徽章。有些小朋友收到了盲盒,就想在拆封前問(wèn)無(wú)所不知的小拼姐姐,盒子里的徽章是哪一種。但是因?yàn)槊ず锌偭坑?105?這么多,小拼姐姐可記不住每只盒子里裝的是什么,于是你就被請(qǐng)來(lái)寫(xiě)個(gè)程序幫小拼姐姐回復(fù)這種信息。
輸入格式:
輸入第一行給出 2 個(gè)正整數(shù),分別為盲盒總量?N(≤105)和貨棧容量?S(≤100)。接下來(lái)一行給出?N?只盒子的編號(hào),編號(hào)由 5 位數(shù)字組成,給出的順序是空盒進(jìn)入傳送帶的順序。隨后?N/S(保證是整數(shù))行,每行給出一批?S?枚徽章的類(lèi)型,為 1-9 的數(shù)字,給出的順序是從進(jìn)貨口入棧的順序。
再下面給出一個(gè)正整數(shù)?K(≤104),為查詢次數(shù)。隨后?K?行,每行給出一個(gè) 5 位編號(hào)。
對(duì)每個(gè)查詢編號(hào),在一行中輸出該盒子中裝的徽章類(lèi)型。如果編號(hào)是錯(cuò)誤的,則在一行中輸出?Wrong Number。
輸入案例:
10 5
00132 10093 92001 23333 66666 88888 09009 34658 82750 69251
1 2 3 4 5
9 8 7 6 1
5
66666
88888
69251
55555
10093
輸出樣例:
1
1
9
Wrong Number
4
?
代碼解析:
#include<iostream> #include<stack> #include<algorithm> using namespace std; stack<int> st; int main() {int n, s, no;int a[10000], b[10000];cin >> n >> s;int num = n / s;int j = 1, ci = 1;while (num--){for (int i = 1; i <= s; i++){cin >> no;st.push(no);}for (; j <= ci * s; j++){a[j] = st.top();st.pop();}ci++;}j = 1;for (; j <= n; j++){cin >> num;b[j] = num;}cin >> num; int* index;for (int i = 1; i <= num; i++){cin >> no;index = find(a + 1, a + n + 1, no);if ((index - a) > n || (index - a) < 0){cout << "Wrong Number" << endl;continue;}cout << b[index - a] << endl;}return 0; }總結(jié)
以上是生活随笔為你收集整理的盲盒包装流水线(数据结构实践-栈)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 计算机毕业设计Python+djang公
- 下一篇: 安装ps显示无法连接到adobe服务器,