回溯
def check(string,track):
# 触发结束条件
if len(track) == len(string):
res.append(''.join(track))
return
for i in range(len(string)):
# 排除不合法的选择
if string[i] in track:
continue
# 做选择
track.append(string[i])
check(string, track)
# 取消选择
track.pop()
# 输入字符串
string = input()
res = [] # 收集结果
track = [] # 记录走过的轨迹
check(string,track)
for i in res:
print(i)