题目来源:OpenJudge - 9283:Push Botton Lock
翻译如下:
描述:
Frobozz Magic Lock公司从事制造按钮式组合门锁的业务。按钮门锁由多个按钮B(1≤B≤11)组成,标记为"1"到"B"。通过按下正确的按钮组合顺序,然后转动门把手来打开锁。如果按压顺序正确,门就会神奇地打开。
组合由同时按下的 1 个或多个按钮组成。序列由一系列组合组成。序列必须至少有一个组合。一旦在组合中使用按钮,就不能以相同的顺序再次使用它。此外,不必按顺序使用所有按钮。例如,对于 B = 8:(1-2-3)(4)(7-8)是具有 3 个组合 (1-2-3)、(4) 和 (7-8) 的有效序列。请注意,此序列中不使用按钮 5 和 6。(1-2-3)(2-4)(5-6)不是有效的序列,因为按钮 2 以 2 种组合 (1-2-3) 和 (2-4) 出现。Frobozz 的 CEO J. Pierpont Flathead 希望您编写一个程序,用于确定给定值 B 可能的有效序列数。程序必须能够处理来自客户的锁定订单(数据集)列表,并生成显示订单号、B 值和可能的有效序列数的报告。此列表将始终至少包含一个数据集,但不超过 100 个数据集。N个不同的数字,放到一些不同的BOX里面,数字你不必用完,Box的个数也是可变的.比如三个球,你可以只放一个BOX,也可以放二个或者三个,但是四个BOX那就不可能了.每个数字只能放到一个BOX里,问有多少种放法.
输入:
输入的第一行包含单个整数 N(1 ≤ N ≤ 100),表示后面的数据集数。每个数据集由一行数据组成,其中包含一个整数 B,即锁的按钮数。
输出:
对于每个数据集,显示数据集编号、空白、值 B、空白和有效序列数。先输出是第几组数据,再输出这个数据的输入,再给出你的答案