洛谷 P1361 小貓爬山

2021-08-09 08:47:12 字數 1054 閱讀 9901

p1361 小貓爬山

wd和lhx飼養了n只小貓,這天,小貓們要去爬山。經歷了千辛萬苦,小貓們終於爬上了山頂,但是疲倦的它們再也不想徒步走下山了。

wd和lhx只好花錢讓它們坐索道下山。索道上的纜車最大承重量為w,而n只小貓的重量分別是c1、c2……cn。當然,每輛纜車上的小貓的重量之和不能超過w。每租用一輛纜車,wd和lhx就要付1美元,所以他們想知道,最少需要付多少美元才能把這n只小貓都運送下山?

輸入格式:

第一行包含兩個用空格隔開的整數,n和w。

接下來n行每行乙個整數,其中第i+1行的整數表示第i只小貓的重量c i。

輸出格式:

輸出乙個整數,最少需要多少美元,也就是最少需要多少輛纜車。

輸入樣例#1:

5 199612

1994

1229

輸出樣例#1:

2
資料範圍與約定

對於100%的資料,1<=n<=18,1<=c i <=w<=10^8。

雖然看上去像貪心 

但卻是迭代加深

1/*2

巧妙地迭代加深

3把貓往車廂裡塞複雜度太高

4我們就向車廂塞貓

5先遍歷車廂數

6再遞迴塞貓 看貓能進哪個車廂 7*/

8 #include 9 #include 10

11const

int maxn=20;12

13int

n,we;

1415

inta[maxn],v[maxn];

1617 inline void read(int&x)

2324

bool dfs(int u,int

num) 32}

33return

false;34

}3536int

hh() 45}

46return0;

47}4849

int sb=hh();

50int main(int argc,char**argv)

**

洛谷 P1361 小貓爬山

wd和lhx飼養了n只小貓,這天,小貓們要去爬山。經歷了千辛萬苦,小貓們終於爬上了山頂,但是疲倦的它們再也不想徒步走下山了。wd和lhx只好花錢讓它們坐索道下山。索道上的纜車最大承重量為w,而n只小貓的重量分別是c1 c2 cn。當然,每輛纜車上的小貓的重量之和不能超過w。每租用一輛纜車,wd和lh...

P1361 小貓爬山 bool dfs

題目描述 rainbow和freda飼養了n只小貓,這天,小貓們要去爬山。經歷了千辛萬苦,小貓們終於爬上了山頂,但是疲倦的它們再也不想徒步走下山了。rainbow和freda只好花錢讓它們坐索道下山。索道上的纜車最大承重量為w,而n只小貓的重量分別是c1 c2 cn。當然,每輛纜車上的小貓的重量之和...

洛谷 P1361 小M的作物

有 nn n 種作物,兩塊耕地 a aa 和 bbb 第 i ii 種作物種植在 a aa 中收益為 a ia i ai 種植在 b bb 中收益為 b ib i bi 另有 m mm 種組合,每種組合有 k kk 種作物,如果這 k kk 種作物共同種在 a aa 中收益為 c1i c1 i c1...