题目:有n个物品编号为1-n,现将其重新排列,但要求相邻两个物品的编号差值的绝对值不等于1,按字典输出满足要求的方案。
输入:每组输入一个整数n,1<=n<=10
输出:对每组测试数据,按照字典序输出满足要求的序列,若没有满足的不需要输出。
例:
输入:4
输出:2 4 1 3
3 1 4 2
程序:
class Solution(object):
def numsSameConsecDiff(self, N):
ans = [x for x in range(1, N+1)]
if N == 1:
ans.add(0)
for _ in range(N-1):
ans2 = set()
for x in ans:
d=x%10
for y in [x for x in range(1, N+1)]:
if str(y) not in str(x):
if abs(d-y)>1:
ans2.add(10*x + y)
ans = ans2
return list(ans)
s=Solution()
n=int(input())
a=s.numsSameConsecDiff(n)
for i in a:
res=