L2-1 盲盒包装流水线 (25 分)
眾所周知,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)寫個(gè)程序幫小拼姐姐回復(fù)這種信息。
輸入格式:
輸入第一行給出 2 個(gè)正整數(shù),分別為盲盒總量?N(≤105)和貨棧容量?S(≤100)。接下來(lái)一行給出?N?只盒子的編號(hào),編號(hào)由 5 位數(shù)字組成,給出的順序是空盒進(jìn)入傳送帶的順序。隨后?N/S(保證是整數(shù))行,每行給出一批?S?枚徽章的類型,為 1-9 的數(shù)字,給出的順序是從進(jìn)貨口入棧的順序。
再下面給出一個(gè)正整數(shù)?K(≤104),為查詢次數(shù)。隨后?K?行,每行給出一個(gè) 5 位編號(hào)。
輸出格式:
對(duì)每個(gè)查詢編號(hào),在一行中輸出該盒子中裝的徽章類型。如果編號(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<bits/stdc++.h>
#include<map>
using namespace std;
int main()
{
? ? map<int,int>q;
? ? int n,s;
? ? cin>>n>>s;
? ? int a[n+1];
? ? for(int i=1;i<=n;i++){
? ? ? ? cin>>a[i];
? ? }
? ? int cnt=1;
? ? int len=n/s;
? ? while(len--){
? ? ? ? int b[s];
? ? ? ? for(int i=0;i<s;i++){
? ? ? ? ? ? cin>>b[i];
? ? ? ? }
? ? ? ? int c=s-1;
? ? ? ? for(int j=cnt;c>=0;j++){
? ? ? ? ? ?
? ? ? ? ? ? q[a[j]]=b[c];//用map標(biāo)記
? ? ? ? ? ? c--;
? ? ? ? }
? ? ? ? cnt+=s;
? ? }
? ? int m;
? ? cin>>m;
? ? while(m--){
? ? ? ? int num;
? ? ? ? cin>>num;
? ? ? ? if(q[num]!=0)cout<<q[num];
? ? ? ? else cout<<"Wrong Number";
? ? ? ? cout<<endl;
? ? }
? ? return 0;
}
總結(jié)
以上是生活随笔為你收集整理的L2-1 盲盒包装流水线 (25 分)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 树的概念及存储结构(双亲表示法,孩子表示
- 下一篇: 龙卷风迁徙地图,原来可以这样做