组合问题-----从字母表中选择n个字母

来源:互联网 发布:手机淘宝店铺首页大图 编辑:程序博客网 时间:2024/04/30 05:31

这是绿盟考试的一道题,意思是让我们从26个字母中选取n个字母,组成一个子串

比如,选取4个,就是abcd,abce,abcf,abcg······等

思路采取dfs深搜

#include <iostream>using namespace std;char alphabet[]={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};char temp[26];void Print(int n){  for(int i=0;i<n;i++)  {  cout<<temp[i]<<" ";  }  cout<<endl;  return;}void  Solve(int index,int cur,int n){   if(index==n)   {        Print(n);   return;   }   int i;   for(i=cur;i<26;i++)   {   temp[index]=alphabet[i];   Solve(index+1,i+1,n);    }}void  Permutation(int n){Solve(0,0,n);}int main(){Permutation(26); return 0;}


0 0