首页 > 编程语言 >洛谷P1157 组合的输出(Python)

洛谷P1157 组合的输出(Python)

时间:2024-11-08 12:19:23浏览次数:3  
标签:count 洛谷 cur Python pri dfs print P1157

伤痕,是男子汉的勋章。

——圣斗士星矢


一、题目

P1157 组合的输出icon-default.png?t=O83Ahttps://www.luogu.com.cn/problem/P1157

二、代码

def pri(L):
    for i in range(len(L)):
        if L[i]==True:
            print("{:3d}".format(i),end='')

def dfs(n,r,cur,count):  #n,r为题意,cur为当前考虑的数,count为已经加入排列中的数
    global L
    if count==r:  #这里cur>n
        pri(L)
        print()
    else:
        if cur<=n:  #防止数组越界
            L[cur]=True
            dfs(n,r,cur+1,count+1)
            L[cur]=False
            dfs(n,r,cur+1,count)


n,r = map(int,input().strip().split())
L = [False]*(n+1)
dfs(n,r,1,0)


三、总结

①dfs函数的写法可以作为排列组合的模版;

②递归时,这一层的count是对上一层决策的判断,count和cur不是对应的,所以一定要做数组越界判断。

标签:count,洛谷,cur,Python,pri,dfs,print,P1157
From: https://blog.csdn.net/2301_78161072/article/details/143621963

相关文章

  • python球探数据分析
    Python球探数据分析入门指南作为一名刚入行的小白,你可能会对如何使用Python进行球探数据分析感到困惑。不用担心,这篇文章将为你提供一份详细的入门指南,帮助你逐步掌握这项技能。流程概览首先,让我们通过一个表格来了解整个数据分析的流程:步骤描述1获取数据2数据......
  • 最新毕设-SpringBoot-求职推荐系统-55000(免费领项目)可做计算机毕业设计JAVA、PHP、爬
    摘 要当前社会竞争激烈,求职市场信息众多,但信息不对称、筛选困难的问题依然存在。因此,设计开发一款求职推荐系统是顺应时代发展的必然选择。该求职推荐系统利用Java编程语言,使用springboot技术框架,采取MySQL数据库实现系统的各项功能,具有便捷高效、安全友好的特点,促进求职招聘......
  • python中多线程和多进程的应用
    选择指南总结I/O密集型任务:使用多线程(ThreadPoolExecutor)。例如,爬虫抓取数据、从数据库或API获取信息、读取/写入文件等。计算密集型任务:使用多进程(multiprocessing.Pool)。例如,进行大量数据计算、数值分析等。混合型任务:可以结合多线程和多进程。例如,先用线程处理I/O......
  • 毕业设计:python股票推荐系统 数据分析可视化 协同过滤推荐算法 Django框架(源码+论文)✅
    毕业设计:python股票推荐系统数据分析可视化协同过滤推荐算法Django框架(源码+论文)✅1、项目介绍技术栈:python、django框架、requests、BeautifulSoup、协同过滤算法、Echarts可视化、HTML登录注册界面:用户可以注册新账号并登录系统。个人信息修改:用户可以修改个人信......
  • 计算机毕业设计Python+图神经网络考研院校推荐系统 考研分数线预测 考研推荐系统 考研
    温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO......
  • 计算机毕业设计Python+图神经网络手机推荐系统 手机价格预测 手机可视化 手机数据分析
    温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!温馨提示:文末有CSDN平台官方提供的学长联系方式的名片!作者简介:Java领域优质创作者、CSDN博客专家、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO......
  • (附项目源码)python开发语言,基于python Web的高校毕业论文管理系统 51,计算机毕设程序开
    摘 要随着信息化技术的迅速发展,人类信息化文明的到来,为人类的日常生活以及日常生产活动提供了非常大的便利,有效地解决了很多曾经无法解决的问题。本次基于pythonWeb的高校毕业论文管理系统的开发是针对我国传统的高校毕业论文管理模式沟通成本高且容易造成管理混乱、导师......
  • (附项目源码)Python开发语言,基于python的京东食品数据分析和可视化设计与实现 52,计算机
    摘 要在当今互联网时代,各行各业都面临着海量数据的挑战和机遇。数据分析和可视化技术的发展为企业和组织提供了更多洞察和决策支持。以京东食品数据分析为例,通过对京东食品数据进行深度挖掘,可以发现消费趋势、产品热门度、地区差异等信息,为市场营销和产品策略提供重要参......
  • python多线程:控制线程数量
    python多线程:控制线程数量  https://www.cnblogs.com/hanmk/p/12990017.html使用线程池  https://zhuanlan.zhihu.com/p/6278539371.自定义线程池1importthreading2importQueue3importtime45queue=Queue.Queue()678defput_data_in_qu......
  • python 内置函数
    1.abs(x): 返回一个数的绝对值。x=-10 print(abs(x)) #输出:10  2.all(iterable):如果可迭代对象中所有元素都为真,则返回True;否则返回False。iterable=[True,True,False] print(all(iterable)) #输出:False  13.any(iterable):如果可迭代对象中任何......