盲盒包装流水线 (25 分) C语言
盲盒包裝流水線 (25 分)
眾所周知,PAT 有 9 枚徽章,分別對應青銅、白銀、黃金、白金、鉆石、大師、王者、大圣、天神這 9 個段位,只有成績非常優秀的考生才有資格獲得刻有自己名字的徽章?,F在,PAT 制作了徽章的小型紀念版,要制成盲盒給大家玩了!
下圖是一條盲盒包裝流水線的示意圖。首先徽章通過進貨口被壓入貨棧里,空盒在履帶上從左向右傳送。每次從貨棧里彈出一枚徽章,進入打包機,裝入一只空盒,打包后繼續向右邊傳送。當貨棧為空時,打包機會暫停,等待下一批徽章壓入貨棧。
每只盒子都有一個編號,小拼姐姐手里有進入流水線的空盒編號順序表,也有每一批送往貨棧的徽章順序表,這樣她其實可以知道每只盒子里裝了哪種徽章。有些小朋友收到了盲盒,就想在拆封前問無所不知的小拼姐姐,盒子里的徽章是哪一種。但是因為盲盒總量有 10 的5次方 這么多,小拼姐姐可記不住每只盒子里裝的是什么,于是你就被請來寫個程序幫小拼姐姐回復這種信息。
輸入格式:
輸入第一行給出 2 個正整數,分別為盲盒總量 N(≤10 的5次方)和貨棧容量 S(≤100)。接下來一行給出 N 只盒子的編號,編號由 5 位數字組成,給出的順序是空盒進入傳送帶的順序。隨后 N/S(保證是整數)行,每行給出一批 S 枚徽章的類型,為 1-9 的數字,給出的順序是從進貨口入棧的順序。
再下面給出一個正整數 K(≤10 的4次方),為查詢次數。隨后 K 行,每行給出一個 5 位編號。
輸出格式:
對每個查詢編號,在一行中輸出該盒子中裝的徽章類型。如果編號是錯誤的,則在一行中輸出 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<stdio.h> int main() {int n,m,k,i,j,t,a[1000001],b[1000001],temp,flag=0;scanf("%d %d",&n,&m);for(i=0;i<n;i++)scanf("%d",&a[i]);k=n/m; //k表示行數 for(i=1;i<=k;i++)for(j=1;j<=m;j++)scanf("%d",&b[i*m-j]); //這道題最關鍵的就是這個式子 scanf("%d",&t);for(i=0;i<t;i++){flag=0;scanf("%d",&temp);for(j=0;j<n;j++){if(temp==a[j]){flag=1;break;} }if(flag==0)printf("Wrong Number\n");elseprintf("%d\n",b[j]);} return 0; }提交結果:
25分的題,給了17分,問題是運行超時,各位大佬,評論區幫幫大菜彩吧!
總結
以上是生活随笔為你收集整理的盲盒包装流水线 (25 分) C语言的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 1.SpringBoot整合Mybati
- 下一篇: Unity URP DOTS Pathf