#LGP10483. 小猫爬山

小猫爬山

题目描述

Freda 和 rainbow 饲养了 N 只小猫。这天,小猫们要去爬山。小猫们爬上山顶后太累了,不想徒步下山,于是需要坐索道。

索道上的缆车最大承重量为 W,N 只小猫的重量分别是 C_1,C_2,...,C_N。每辆缆车上的小猫重量之和不能超过 W。每租用一辆缆车需要 1 美元,求最少需要多少辆缆车。

输入格式

第一行两个整数 N,W。

接下来 N 行,每行一个整数,表示一只小猫的重量。

输出格式

一行一个整数,表示最少需要的缆车数量。

样例输入 #1

5 1996
1
2
1994
12
29

样例输出 #1

2

数据范围与提示

1 <= N <= 18,1 <= C_i,W <= 100000000。

本题适合练习 DFS、回溯和剪枝。通常先将小猫重量从大到小排序,再搜索每只小猫放入已有缆车或新开缆车。

来源

洛谷 P10483 小猫爬山。

蜀ICP备2025119001号-1