题意大概就是输入一行小写字母,要求输出的全排列按字母表顺序且不重复。
思路是先给输入的字符串排序,然后用dfs。当dfs搜索到最长,向前递归时,加一个判断前一个字符是否与刚才的相同,相同则跳过,继续向前。
上代码
#include<stdio.h>
#include<string.h>
int n;
char a[207],flag[207],p[207];
void dfs(int step){
if(step>n-1
题意大概就是输入一行小写字母,要求输出的全排列按字母表顺序且不重复。
思路是先给输入的字符串排序,然后用dfs。当dfs搜索到最长,向前递归时,加一个判断前一个字符是否与刚才的相同,相同则跳过,继续向前。
上代码
#include<stdio.h>
#include<string.h>
int n;
char a[207],flag[207],p[207];
void dfs(int step){
if(step>n-1