刚刚开始学习python,按照廖雪峰的网站看的,当前看到了函数这一节。结合数组操作,写了个非递归的全排列生成。原理是插入法,也就是在一个有n个元素的已有排列中,后加入的元素,依次在前,中,后的每一个位置插入,生成n+1个新的全排列。因为Python切割数组或者字符串,以及合并比较方便,所以,程序会节 ...
分类:
编程语言 时间:
2016-11-14 12:39:36
阅读次数:
182
从1到20这20个数摆成一个环,要求相邻的两个数的和是一个素数。 这道题很明显,是一道dfs的题目,跟全排列很像 ...
分类:
编程语言 时间:
2016-11-14 01:17:27
阅读次数:
171
思想:从集合中依次选出每一个元素,作为排列的第一个元素,然后对剩余的元素进行全排列,如此递归处理,从而得到所有元素的全排列 #include <stdio.h> /******************************************************************** ...
分类:
其他好文 时间:
2016-11-09 19:41:34
阅读次数:
153
题目描述 输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。 输入输出格式 输入格式: n(1≤n≤9) 输出格式: 由1~n组成的所有不重复的数字序列,每行一个序列。每个数字保留5个常宽。 输入输出样例 输入样例#1: 3 输出样例#1: 1 2 3 ...
分类:
其他好文 时间:
2016-11-08 22:40:27
阅读次数:
331
题目描述 人类终于登上了火星的土地并且见到了神秘的火星人。人类和火星人都无法理解对方的语言,但是我们的科学家发明了一种用数字交流的方法。这种交流方法是这样的,首先,火星人把一个非常大的数字告诉人类科学家,科学家破解这个数字的含义后,再把一个很小的数字加到这个大数上面,把结果告诉火星人,作为人类的回答 ...
分类:
其他好文 时间:
2016-11-08 00:38:57
阅读次数:
265
紫书P182 直接枚举 0~9 的全排列会超时,枚举fghij就可以了,计算出 abcde ,这里有一个新的函数,也可以不用咯,把每一位数据提取出来,while循环可以做到,这里的新的函数是,sprintf(buf,"%5d%5d",abcde,fghij); 格式化提取,把abcde,fghij每 ...
分类:
其他好文 时间:
2016-11-06 11:48:17
阅读次数:
177
题目链接: http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1384 给出一个字符串S(可能又重复的字符),按照字典序从小到大,输出S包括的字符组成的所有排列。例如:S = "1312", 输出为: 1123 1132 12 ...
分类:
其他好文 时间:
2016-11-02 22:58:18
阅读次数:
147
这道题抄了答案: 思路:旋转,其实只用旋转四次,因为在换行的过程中旋转其实是没有意义的,因为行列只不过转了个角度。然后主要的是行列的交换,这里我很头疼,写了个盲目搜索,当然wa掉了 问了问某位同志,是这样做的,很巧妙:其实这是一个全排列,一个三个数的全排列套了三个数的全排列,然后该怎么做呢?这里运用 ...
分类:
其他好文 时间:
2016-11-02 00:37:24
阅读次数:
172
算法要点: n个元素的全排列:一个元素放在最前方,剩下n-1个元素的全排列 出口:当就剩下一个元素需要全排列的时候,把数组打印出来就行了 http://blog.csdn.net/xiazdong/article/details/7986015 写的比黑皮书好致敬! 没想明白的地方:当一个元素需要全 ...
分类:
编程语言 时间:
2016-10-29 12:13:18
阅读次数:
204
全排列生成算法(一) 对于给定的集合A{a1,a2,...,an},其中的n个元素互不相同,如何输出这n个元素的所有排列(全排列)。 递归算法 这里以A{a,b,c}为例,来说明全排列的生成方法,对于这个集合,其包含3个元素,所有的排列情况有3!=6种,对于每一种排列,其第一个元素有3种选择a,b, ...
分类:
编程语言 时间:
2016-10-28 20:04:33
阅读次数:
201