挑选宝石
题目描述
游乐园有一款互动游戏,游戏开始时会提供 n 个宝石,每个宝石都一个属性值 a1,a2,…an.玩家在游戏前可以挑选 x 颗宝石,将这些宝石的属性值相乘组成玩家的属性值。游戏玩家需要 y 点属性值,请帮助游戏玩家计算有多少种计算方式。
输入描述
第一行:三个整数 n,x,y
- 第一个整数 n(0 < n <20) 表示宝石总数量。
- 第二个整数 x(0<x <=n),表示可以选择宝石个数
- 第三个整数 y,表示通过游戏需要的属性值
第二行:n 个整数,a1,a2,…an(-100 < ai < 100),表示每个宝石的属性值。
输出描述
输出一个整数,表示玩家可以通过游戏的挑选方式的数量。
示例 1
输入
4 2 8 2 -3 4 5
输出
3
说明
解题思路
这是一个经典的组合问题,可以通过 深度优先搜索 (DFS) / 回溯法 来解决。
由于宝石数量 n 较小(n < 20)


