单点时限: 2.0 sec
内存限制: 256 MB
在书架上放有编号为 1,2,…,n 的 n 本书。现将 n 本书全部取下然后再放回去,当放回去时要求每本书都不能放在原来的位置上。
例如 n=3 时:原来位置为:1,2,3。放回去时只能为:3,1,2 或 2,3,1 这两种。
对于每一个 n,求满足上面的条件的放法有多少?
第 1 行为一个整数 T ,表示有(0≤T≤10),表示有T$ 组测试数据。
接下来 T 行,每行一个数 n (0≤n≤10),表示有 n 本书。
对于每组测试数据,如果 n<8,输出每种放法(每种放法占一行,放法按照字典序从小到大排列),如果 n≥8,只需要输出放法总数。
2 3 8
231 312 14833
算法作业:回溯。