问题 5478 --管理大师

5478: 管理大师★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 9  解决: 5
[提交][状态][命题人:]

题目描述

身为班长的杰杰受班主任所托给每个同学重新排座位。班上一共有n个同学(n<=16),将每个同学分别编号为1,2,...,n,同时每个座位也依次编号1,2,...,n。杰杰喜欢错排,即人的编号i不等于分配的座位号j。所以他决定在至少m个人满足i!=ji为人的编号,j为分配的座位编号)的所有方案里面选一种。但数学不是很好的他无法列举所有方案,于是他找到数学课代表小天帮忙。但小天很讨厌错排,即他希望至少m个人满足i==ji为人的编号,j为分配的座位编号)。他俩互不相让,最终找你帮忙。而你作为他们的好朋友,十分纠结,最后决定掷骰子,如果是奇数点,按照杰杰的想法列举所有可能方案。否则,按照小天的想法列举所有可能方案。

输入

三个整数:第一个整数f为掷骰子的结果(1<=f<=6),第二个整数是人数n(1<=n<=16),第三个整数m(1<=m<=n)

输出

所有可能方案分为n-m+1类,每类对应坐对(f为偶数)或者坐错(f为奇数)人数i(i=m,m+1,...n,从小到大)时的各自所有可能方案,每类的所有方案按字典序从小到大输出,ii+1类之间用换行隔开(第n类后面没有换行)。最后输出所有可能方案总数。

样例输入
Copy
4 3 1
样例输出
Copy
1 3 2
2 1 3
3 2 1


1 2 3
4

提示

注意:m=1,i=2时无合法方案,故i=1与i=3之间有两个换行

来源

[提交][状态]