稱砝碼問題

2021-07-02 05:22:47 字數 909 閱讀 8183

有一組砝碼,重量互不相等,分別為m1、

m2、m3……mn

;它們可取的最大數量分別為x1、

x2、x3……xn

。現要用這些砝碼去稱物體的重量

,問能稱出多少種不同的重量。

input

測試資料第一行乙個整數n(

n<=10

),表示有多種不同的砝碼;

第二行n

個整數(中間用空格分隔),m1、

m2、m3……mn

,分別表示

n個砝碼的重量;(

1<=mi<=20

)第三行

n個整數(中間用空格分隔),x1、

x2、x3……xn

,分別表示

n個砝碼可取的最大數量。(

1<=xi<=20

)output

每組資料輸出僅一行,乙個整數,表示利用給定的砝碼可以稱出的不同的重量數。

注:包括0。

sample input

21 2

2 1sample output5

//稱砝碼

int main()

//set內是可以稱重的值,元素互斥單調增

sets;

s.insert(max_wight);

//進行n次迴圈;

//對於第i次迴圈,將set中元素從小到大依次取出,

//減去k * wights[i],表示少使用k個質量為wights[i]的砝碼

//也可以作為可稱重的值;只要這個值是大於0的即可。

for (int i = 0; i < n; i++)

} s.insert(0);

cout << s.size() << endl;

return 0;

}

華為OJ 稱砝碼

題目描述 現有一組砝碼,重量互不相等,分別為m1,m2,m3 mn 每種砝碼對應的數量為x1,x2,x3 xn。現在要用這些砝碼去稱物體的重量,問能稱出多少中不同的重量。注 稱重重量包括0 方法原型 public static int fama int n,int weight,int nums 輸...

華為OJ稱砝碼

問題描述 現有一組砝碼,重量互不相等,分別為m1 m2 mn 他們可取的最大數量分別為x1 x2 xn。現在要用這些砝碼去稱物體的重量,問能稱出多少中不同的重量。注 稱重重量包括0 要對輸入資料進行校驗 方法原型 public static intfama intn,int weight,int n...

程式設計題 稱砝碼

題目描述 現有一組砝碼,重量互不相等,分別為m1,m2,m3 mn 每種砝碼對應的數量為x1,x2,x3.xn。現在要用這些砝碼去稱物體的重量,問能稱出多少中不同的重量。注 稱重重量包括0 方法原型 public static int fama int n,int weight,int nums 輸...