(回溯4)部分全排列

题目设有n个整数的集合{1,2,…,n},从中任意取出r个数进行排列(r< n),试着列出所有排列

#include <iostream>
using namespace std;
bool vis[100];
int total=0;
int ans[100];//输出结果
void print(int r){// if(total==5) return ;total++;cout<<"<"<<total<<">"<<endl;for(int i=1;i<=r;i++){cout<<ans[i]<<" ";}cout<<endl;
} void search(int t,int n,int r){if(t==r+1) print(r);//取r个数的限制条件for(int i=1;i<=n;i++){if(!vis[i]){//判断是i否出现过ans[t]=i,vis[i]=1;search(t+1,n,r);vis[i]=0;}} 
} int main(){int n,r;cin>>n>>r;search(1,n,r);cout<<total<<endl;return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/560852.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

vue.js将本地文件上传到ftp服务器,vue项目使用FTP传输部署项目服务器,node命令编写...

#!/usr/bin/env nodevar fs require(fs); // 引入需要模块var vinylFs require( vinyl-fs );var ftp require( vinyl-ftp );var vueConfig require(../vue.config) //这里是为了抓取打包文件名称var env process.argv[2]?process.argv[2].replace(…

python程序员可以做到多少岁_程序员一般做到多少岁,那些70后的程序员都消失了?...

在娱乐圈&#xff0c;哦不&#xff0c;是在程序员这个吃青春饭的行业&#xff0c;有一个人人闻之色变的话题&#xff0c;曰&#xff1a;「年老色衰」。只要是个程序员&#xff0c;心里都会惴惴不安的想&#xff1a;「我老了以后卖不动色相&#xff0c;哦不&#xff0c;写不动代…

(递归7)生成可重集的排列

题目 输入数组P&#xff0c;并按字典序输出数组A各元素的所有全排列 P数组&#xff1a;是存储基本数据的 A数组&#xff1a;是储存答案的 cur&#xff1a;当前需要确定的元素位置时存答案的位数的 c1&#xff0c;c2&#xff1a;做标记&#xff0c;if满足条件后再进行下次递…

利用next_permutation解答全排列问题

枚举所有排列的另一个方法是从字典序最小排列开始&#xff0c;不停调用“求下一个排列”的过 程。 全排列的个数A(N,N)(N)(N-1)…*2*1N! 下一个排列&#xff1a;通常按照升序顺序&#xff08;字典序&#xff09;获得下一个排列 stl next_permutation找下一个排列的算法 如…

根据大小分割大文本_场景文本检测—CTPN算法介绍

SIGAI特约作者&#xff1a;沪东三哥 原创声明:本文为SIGAI 原创文章&#xff0c;仅供个人学习使用&#xff0c;未经允许&#xff0c;不得转载&#xff0c;不能用于商业目的。其它机器学习、深度学习算法的全面系统讲解可以阅读《机器学习-原理、算法与应用》&#xff0c;清华大…

(贪心1)排队接水

问题描述   有n个人排队到r个水龙头去打水&#xff0c;他们装满水桶的时间t1、t2………..tn为整数且各不相等&#xff0c;应如何安排他们的打水顺序才能使他们总共花费的时间最少&#xff1f; 输入格式   第一行n&#xff0c;r (n<500,r<75)   第二行为n个人打…

vue 跳添加编辑页面传两个值_vue两个组件间值的传递或修改方式

1、可以用公共的父组件来实现&#xff1b;2、可以在store.js里面在设置公共变量&#xff1b;3、也可以用本地存储localStorage.setItem()和localStorage.getItem()&#xff0c;通过修改本地存储的值和获取修改后的值来实现&#xff1b;4、就是父子组件间的值的传递与修改props&…

(贪心)均分纸牌

题目描述 有 N 堆纸牌&#xff0c;编号分别为 1&#xff0c;2&#xff0c;…, N。每堆上有若干张&#xff0c;但纸牌总数必为 N 的倍数。可以在任一堆上取若于张纸牌&#xff0c;然后移动。移牌规则为&#xff1a;在编号为 1 堆上取的纸牌&#xff0c;只能移到编号为 2 的堆上…

agilebpm脑图_设计开发平台前端框架介绍 | AgileBPM 敏捷工作流开发平台—开源免费-基于 Activiti 工作流引擎、Flowable...

目前设计平台前端是独立部署的&#xff0c;引入了 Angular 和 Vue&#xff0c;您可以根据自己技术强项 选择使用 Angular 或者 Vue&#xff0c;他们引入的成本都很小。比如我们团队使用 Angular 很多年了&#xff0c;依赖注入&#xff0c;模块化概念很舒服&#xff0c;使用它构…

(贪心)删数问题

题目&#xff1a; 键盘输入一个高精度的正整数&#xff4e;&#xff08;<240位&#xff09;&#xff0c; 去掉任意&#xff53;个数字后剩下的数字按原左右次序将组成一个新的正整数。 编程对给定的&#xff4e;和&#xff53;&#xff0c;寻找一种方案&#xff0c;使得剩…

alsa的动态库安装在哪里_Linux链接库一(动态库,静态库,库放在什么路径下)...

http://www.cppblog.com/wolf/articles/74928.htmlhttp://www.cppblog.com/wolf/articles/77828.htmlhttp://www.jb51.net/article/34990.htm大部分内容抄的以上文章的。1 库的分类根据链接时期的不同&#xff0c;库又有静态库和动态库之分。静态库是在链接阶段被链接的(好像是…

递推:约瑟夫环

约瑟夫环&#xff08;约瑟夫问题&#xff09; 是一个数学的应用问题&#xff1a;已知n个人&#xff08;以编号1&#xff0c;2&#xff0c;3…n分别表示&#xff09;围坐在一张圆桌周围。从编号为k的人开始报数&#xff0c;数到m的那个人出列&#xff1b;他的下一个人又从1开始…

pic pwm 占空比可调 源码_PIC16F914输出可调占空比PWM波形程序

#includetypedef unsigned int uint;typedef unsigned char uchar;#define KEY0_DOWN() (RB40)//定义按键按下__CONFIG(0X1014);//内部时钟uchar KEY0_FLAG0;/*************************///OSC SET; INTER 4MHZ PERIOD 1US/*************************/void OSC_INIT(){OSCCON0…

(递推)三角形分割平面问题

题目描述 用N个三角形最多可以把平面分成几个区域? 输入 输入数据的第一行是一个正整数T(1<T<10000),表示测试数据的数量.然后是T组测试数据,每组测试数据只包含一个正整数N(1<N<10000). 输出 对于每组测试数据,请输出题目中要求的结果. 样例输入 2 1 …

floquet端口必须沿z轴设置_Ansys Workbench 振动给料机偏心轴的模态分析

张哲维 于 岩 刘传峰 公 业振动给料机主要由振动机架、弹簧、振动器电机等组成。振动器是由两个特定位置的偏心轴以齿轮相啮合组成&#xff0c;装配时必须使两齿轮按标记相啮合&#xff0c;通过电机驱动&#xff0c;使两偏心轴旋转&#xff0c;从而产生巨大合成的直线激振力&am…

(贪心)活动选择

问题描述 有一个需要使用每个资源的n个活动组成的集合S {a1&#xff0c;a2&#xff0c;&#xff0c;an },资源每次只能由一个活动使用。每个活动a都有一个开始时间和结束时间&#xff0c;且 0< s < f < 。一旦被选择后&#xff0c;活动a就占据半开时间区间[s,f]。如果…

vue如何配置服务器端跨域_vue项目里如何配置本地代理实现跨域请求

1、在如图项目配置的index.js文件夹下添加以下一段话微信图片_20180912182204.pngproxyTable: {/rest: {target: http://192.168.20.223:8080, pathRewrite: {"^/rest": /rest },// secure: false, changeOrigin: true }},代码中的rest只是在请求接口时本人自定义的一…

cp命令显示进度条_干货|| Linux常用命令大全

Linux常用命令目录操作命令ls命令名称&#xff1a;ls命令英文原意&#xff1a;list命令所在路径&#xff1a;/bin/ls执行权限&#xff1a;所有用户功能描述&#xff1a;显示目录文件ls (显示当前目录下文件)ls 目录名 (显示指定目录下文件)ls -l (长格式显示目录文件)ls -l 文件…

(贪心)整数区间

题目 找到一个含元素个数最少的集合,使得对于每一个区间,都至少有一个整数属于该集合&#xff0c;输出该集合的元素个数。 输入 首行包括区间的数目n,1≤n≤10000,接下来的n行,每行包括两个整数a,b,被一空格隔开,0≤a≤b≤10000,它们是某一个区间的开始值和结束值。 输出 …

二进制法生成1-n的子集

先上代码&#xff1a; #include<iostream> using namespace std;void print_subset(int n, int s){for(int i0;i<n;i)if(s&(1<<i)){printf("%d",i);} printf("\n");} int main(){int n;cin>>n; for(int i0;i<(1<<n);i)…