一道演算法題 打車

2022-07-03 10:57:11 字數 1143 閱讀 9083

妞妞需要支付給計程車司機車費s元。妞妞身上一共有n個硬幣,第i個硬幣價值為p[i]元。

妞妞想選擇盡量多的硬幣,使其總價值足以支付s元車費(即大於等於s)。

但是如果從妞妞支付的這些硬幣中移除乙個或者多個硬幣,剩下的硬幣總價值還是足以支付車費的話,計程車司機是不會接受的。例如: 妞妞使用價值為2,5,7的硬幣去支付s=11的車費,計程車司機是不會接受的,因為價值為2這個硬幣是可以移除的。

妞妞希望能選取最大數量的硬幣,使其總價值足以支付車費並且計程車司機能接受。

妞妞希望你能幫她計算最多可以支付多少個硬幣。

輸入描述:

輸入包括兩行, 第一行包括兩個正整數n和s(1 <= n <= 10, 1 <= s <= 1000), 表示妞妞的硬幣個數和需要支付的車費。

第二行包括n個正整數p[i] (1 <= p[i] <= 100),表示第i個硬幣的價值。

保證妞妞的n個硬幣價值總和是大於等於s。

輸出描述:

輸出乙個整數, 表示妞妞最多可以支付的硬幣個數。
輸入例子1:

5 9

4 1 3 5 4

輸出例子1:

3

【分析】:最多只有10個硬幣,簡單遍歷一下就可以啦。注意到n很小,直接列舉子集判斷是否合法,在所有合法的方案中找size最大。

【**】:

1 #include 2 #include 3

using

namespace

std;

4int

main()5;

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

11int result = 0;12

for (int i = 0; i < pow(2, n); i++)

21 temp >>= 1;22

}23 result = sum >= s && sum - mincoin < s ? result>sumcoin ?result : sumcoin : result;24}

25 cout <26return0;

27 }

一道演算法題

兩個燒杯,乙個放糖乙個放鹽,用勺子舀一勺糖到鹽,攪拌均勻,然後舀一勺混合 物會放糖的燒杯,問你兩個燒杯哪個雜質多?一樣多吧 對的 為啥?是不是因為 糖和鹽本來就是均勻的 因為,就算不攪拌均,你放一勺過去,那邊放一勺不含雜質的過來,那麼都是一勺雜之 如果攪拌均勻的話也是一樣 小依 21 45 32 也...

一道演算法題

1.上午主要做了對翻譯任務的劃分,下午把 翻譯完畢。2.明天要講的演算法題 對乙個集合,求出其連續元素組成的子集中,和最大的子集 我對這道題的理解是 1 若集合中最小值大於0,意味著所有的都大於0,則最大的子集和,為所有值加起來 2 若集合中最大值小於0,意味著所有的都小於0,則最大的子集和,為集合...

一道演算法題

include using namespace std const int size 5 int max sub array const int a,int n,int m int max matrix const int a size int row,int col,int subsize int...