int len = strlen(in);
bool B[100]= { 0 };
int n = 0;
for(int I = 0;在[我]!= '\0';i++)
{
if(B[i] == false)
{
for(int j = I;in[j]!= '\0';j++)
{
if(in[j] == in[i])
{
a[n][0]= in[I];
a[n][1]++;
B[j] =真;
}
}
n++;
}
}
返回n;
}
Void traverse(int len) //遞歸求解每個位置的遍歷,選擇A中可用次數大於0的字符。
{
if(len == 0)
{
for(int I = 0;我& ltLENi++)
{
printf("%c ",ANS[I]);
}
printf(" \ n ");
返回;
}
for(int I = 0;我& ltn;i++)
{
if(A[i][1]!= 0) //如果不等於0,該字符仍然可以使用。
{
ANS[LEN-LEN]= A[I][0];//存儲答案中的當前字符。
a[I][1]-;
遍歷(len-1);//
a[I][1]++;}
}
}
void getall(char * in)
{
LEN = strlen(in);
n = get times(in);
遍歷(LEN);
}
int main()