|
|
A318790型 |
| {1,2,…,n^2+1}的置换数sigma的1/2,使得|sigma(i+j)-sigma(i)|>=n表示1<=i<=n^2+1-j,1<=j<=n-1。 |
|
1
|
|
|
|
偏移
|
1,2
|
|
链接
|
|
|
例子
|
如果n=2:
置换
--------------------------------
[1,3,5,2,4]及其反面。
[1,4,2,5,3]及其反面。
[2,4,1,3,5]及其反面。
[2,4,1,5,3]及其反面。
[2,5,3,1,4]及其反面。
[3、1、4、2、5]及其反面。
[3、1、5、2、4]及其反面。
所以a(2)=14/2=7。
|
|
程序
|
(红宝石)
定义检查(d,a,i)
如果i==0,则返回true
j=1
d_max=[i,d-1].最小值
而(a[i]-a[i-j]).abs>=d&j<dmax
j+=1
结束
(a[i]-a[i-j]).abs>=d
结束
定义解(d,len,a=[])
b=[]
如果a.size==长度
b<<a
其他的
(1..len).each{|m|
s=a.size
如果s==0||(s>0&&!a.include?(m))
如果选中(d,a+[m],s)
b+=求解(d,len,a+[m])
结束
结束
}
结束
b条
结束
(1..n).map{|i|solve(i,i*i+1).size/2}
结束
|
|
交叉参考
|
|
|
关键词
|
非n,坚硬的,更多
|
|
作者
|
|
|
状态
|
经核准的
|
|
|
|