砝碼稱重 洛谷 1441

2022-05-18 05:26:50 字數 1186 閱讀 7793

題目:

現有n個砝碼,重量分別為a1,a2,a3,……,an,在去掉m個砝碼後,問最多能稱量出多少不同的重量(不包括0)。

輸入格式:

輸入檔案weight.in的第1行為有兩個整數n和m,用空格分隔

第2行有n個正整數a1,a2,a3,……,an,表示每個砝碼的重量。

輸出格式:

輸出檔案weight.out僅包括1個整數,為最多能稱量出的重量。

輸入樣例#1:

3 1

1 2 2

輸出樣例#1:

3

【樣例說明】

在去掉乙個重量為2的砝碼後,能稱量出1,2,3共3種重量。

【資料規模】

對於20%的資料,m=0;

對於50%的資料,m≤1;

對於50%的資料,n≤10;

對於100%的資料,n≤20,m≤4,m<n,ai≤100。

#include #include 

using

namespace

std;

int n, m, max = 0, answer = 0

;int weight[21

];int f[20001

];bool judge[21

];int

find()//判斷每一種重量是否存在,因為所產生的所有的值只可能是1~maxx之間的數}}

for (int i = 1; i <= max; i++)

}answer =max(answer, total);

}void search(int counts, int

pos)

else

judge[pos] = true

; search(counts + 1, pos + 1

);//某乙個數字在組合的過程中只有兩種可能,一種是選,一種是不選,所以會出現兩種情況,故搜兩次

judge[pos] = false

; search(counts, pos + 1

); }

}int

main()

if (m == 0

)

search(

1, 1

); cout

<< answer <}

洛谷 1441 砝碼稱重

題目描述 現有n個砝碼,重量分別為a1,a2,a3,an,在去掉m個砝碼後,問最多能稱量出多少不同的重量 不包括0 請注意,砝碼只能放在其中一邊。輸入格式 輸入檔案weight.in的第1行為有兩個整數n和m,用空格分隔 第2行有n個正整數a1,a2,a3,an,表示每個砝碼的重量。輸出格式 輸出檔...

洛谷P1441 砝碼稱重

現有n個砝碼,重量分別為 aia iai 在去掉 mmm 個砝碼後,問最多能稱量出多少不同的重量 不包括 000 請注意,砝碼只能放在其中一邊。第 111 行為有兩個整數 nnn 和 mmm,用空格分隔。第 222 行有 nnn 個正整數 a1,a2,a3,ana 1,a 2,a 3,ldots a...

洛谷 P1441 砝碼稱重(深搜 DP)

傳送門 題目描述 現有n個砝碼,重量分別為a1,a2,a3,an,在去掉m個砝碼後,問最多能稱量出多少不同的重量 不包括0 輸入輸出格式 輸入格式 輸入檔案weight.in的第1行為有兩個整數n和m,用空格分隔 第2行有n個正整數a1,a2,a3,an,表示每個砝碼的重量。輸出格式 輸出檔案wei...