題目描述
乙個**的訂單中包含n(10>=n>=1)種商品a1,a2,…,an,每種商品數量分別為a1,a2,…,an個,記做(ak>0)。訂單在倉庫生產過程中,倉庫為了提公升作業效率,會提前對熱門組合商品進行預包裝。假設這n個商品有m(9>=m>=1)個商品組合,每個組合bomk包含a1,a2,…,an的數量分別為(bk>=0,至少存在乙個bk>0)
舉例如下:
訂單包含a,b,c商品,數量為,商品組合bom1,bom2,bom3
對以上訂單匹配給定商品組合,得到的可能匹配結果為:res1.匹配到組合1一套,剩餘b商品;res2.匹配到組合2兩套,組合3一套,不剩商品;
現要求訂單的最優匹配,最優匹配的原則為:1.匹配組合後,剩餘商品種類數越少越好;2.在剩餘商品種類數相同的情況下,匹配到的組合種類數越少越好;
例如上面例子,我們認為res2優於res1。
現需要編寫程式,輸入格式為:
n,ma1,a2,…,an
bom1,b11,b12,…,b1n
bom2,b21,b22,…,b2n
….bomm,bm1,bm2,…,bmn
輸入資料的格式說明(資料間使用英文逗號分隔):
第一行資料:n個商品,m個預包方案
第二行資料:商品1個數,商品2個數,。。。,商品n個數
第三行資料:bom1,商品1個數,商品2個數,。。。,商品n個數
第n-1行資料:。。。。
第n行資料:bomn,商品1個數,商品2個數,。。。,商品n個數
針對輸入資料找出最優匹配,輸出最優匹配的組合及套數,比如針對上面的例子輸出:
match result:
bom2*2,bom3*1
2019阿里筆試題目
輸入 輸出 當場沒有寫出來,所以也不知道其他樣例啥樣子,只好先ac了樣例再說吧 include include using namespace std string str 100 1000 int main else m l i 1 continue l 6 for int i 6 i input...
阿里筆試題目2
問題 小強得到了長度為n的序列,但他只對非常大的數字感興趣,因此隨機選擇這個序列的乙個連續子串行,並求這個序列的最大值,請告訴他這個最大值的期望是多少?輸入 第一行n表示序列長度接下來一行n個數描述這個序列,n大於等於1小於等於1000000,數字保證是正整數且不超過100000 第二行n個數字表示...
阿里筆試題
計算二叉樹每一層的和 24for int i 0 i 29list.add index 30 31int sum 0 32for int i 0 i 35 兩個端點的數,是去除裡面第乙個,或者最後倒數第二個,比較去掉最小的那個 36int max sum math.min list.get 1 li...