双十一CF必上1400


私信TA

用户名:dotcpp0602879

访问量:4059

签 名:

放纵是本性,克制是智慧。

等  级
排  名 408
经  验 5035
参赛次数 3
文章发表 22
年  龄 21
在职情况 学生
学  校 江南大学
专  业 软件工程

  自我简介:

蓝桥国一终归与我!

解题思路:
就是想吐槽一下:题目都说了由不同字母组成 但是测试用例有相同的 害我第一次没通过 真老6
注意事项:
方法:就是要用下标1-n来对应input输入的字母保证不会重复 最后再输出下标对应的字母就ok了
参考代码:


def dfs(step):

    if step-1==num-1: # 一共就num-1个字母  但是实际step-1才是真正temp里面的数据个数

        print("".join(temp[1:]))

    for i in range(1,num):

        if exist[i]: # 如果数据没有被使用 就使用

            exist[i]=0# 使用了就要设置0不可再次使用

            temp[step]=list1[i]

            step+=1

            dfs(step) # 回溯前后

            step-=1

            exist[i]=1# 回溯 返回之前没有被使用状态


list1=list(input())

list1.insert(0,0) # 下标对应 保证list1[1] 就是对应第一个字母

num=len(list1)

temp=list(0 for i in range(num))# 存放数据

exist=list(1 for i in range(num)) # 数据不能重复

dfs(1)


 

0.0分

1 人评分

  评论区

  • «
  • »