SP23969 JARJAR - Helping Jar Jar Binks
题目描述
Jar Jar Binks 接到了一个任务:
有 $N$ 个飞船零件,每个零件的重量为 $W_i$ 千克。给定一个总重量 $W$,他需要找出有多少种组合方式,可以用这些零件恰好组合成重量为 $W$ 千克的飞船。如果组合成的方法存在,他需要展示所有可能的方案。
众所周知,Jar Jar Binks 因笨手笨脚而闻名,因此你需要帮助他。请编写一个程序来解决这个问题!
输入格式
输入包含多组数据,每组以两个整数 $N, Q$ 开始,分别表示飞船零件的数量和需要回答的询问数。其中 $1 \le N \le 60$,$0 \le Q \le 10000$。
接下来一行,有 $N$ 个正整数,表示每个飞船零件的重量($1 \le W_i \le 1000$)。
接下来的 $Q$ 行,每行包含一个整数 $W$,表示需要组合成的飞船总重量(这个整数不一定是正数)。
输入的最后一组以 $N = 0$ 和 $Q = 0$ 结束,这组数据不需要处理。
输出格式
对于每一个查询,输出一行,包含一个按升序排列的整数序列,这些整数表示可以用来组合成重量为 $W$ 的飞船的零件数量。
如果无法组合出重量为 $W$ 的飞船,则输出 `That's impossible!`。
说明/提示
- 零件数量 $1 \le N \le 60$
- 询问次数 $0 \le Q \le 10000$
- 每个零件的重量 $1 \le W_i \le 1000$
**本翻译由 AI 自动生成**