0
点赞
收藏
分享

微信扫一扫

python排列

伊人幽梦 2022-03-11 阅读 44
def dfs(i,n):
    # 代表从第i个位置填到第n个位置
    if i > n :
        for j in range(1,n+1):
            print(loca[j],end=' ')
        print() # 换行
        return
    print('begin')
    for z in range(1,n+1): #看看哪个数可以填
        if sta[z] != 1:
            sta[z] = 1
            loca[i] = z
            print('这里')
            dfs(i+1, n)
            print('dfs')
            loca[i] = 0
            sta[z] = 0
                    
        
            


if __name__ == '__main__':
    n = int(input())
    sta = [0 for _ in range(n+1)] # 0代表该数未选,1代表数选了,下标从1开始
    loca = [0 for _ in range(n+1)] #保存序列 从下标1开始
    dfs(1,n)

举报

相关推荐

0 条评论