排序:
默认
按更新时间
按访问量

UVa129

如果一个字符串包含两个相邻的重复子串,则称他是“容易的串”,其他串称“困难的串”。例如,BB、ABCDACABCAB、ABCDACBD都是容易的串,而D、DC、ABDAB、CBABCBA都是困难的串。 输入正整数n和L,输出有前L个字符组成的、字典序第k小的困难的串。例如,当L=3时,前7个困难...

2017-02-20 13:05:32

阅读数:207

评论数:0

UVa524

UVa524      输入正整数n,把整数1,2,3,···,n组成一个环,使得相邻两个整数之和均位素数。输出时从整数1开始逆时针排序。同一个环应恰好输出一次。n 样例输入: 6 样例输出: 1 4 3 2 5 6 1 6 5 2 3 4 枚举排列(比较费时间,跑到n =...

2017-02-20 10:13:20

阅读数:243

评论数:0

n皇后问题

八皇后位置,利用回溯法解决 直接利用回溯法: #include int n, tot = 0; int C[1000] = {0}; void search(int cur){ if(cur == n){ //边界 tot++; ...

2017-02-19 16:35:02

阅读数:141

评论数:0

子集生成

1、增量构造法 注意:在枚举子集的增量法中,需要使用定序的技巧,避免同一个集合枚举两次,比如{1,2}和{2,1}。 实例: #include using namespace std; void print_subset(int n, int * A, int cur){ for(int...

2017-02-18 17:42:57

阅读数:146

评论数:0

生成可重集的序列

#include #include using namespace std; int A[1000], P[1000]; void print_permutation(int n, int * P, int * A, int cur){ if(n == cur){ ...

2017-02-18 13:22:28

阅读数:153

评论数:0

生成1~n的排列

#include #include using namespace std; int A[1000]; void print_permutation(int n, int * A, int cur){ if(n == cur){ //边界 f...

2017-02-18 13:05:24

阅读数:148

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭