思路:首先需要一个判断条件的函数,然后就是爆搜
代码:
#include<bits/stdc++.h> using namespace std; const int N = 1e3 + 10; int n,m,t; char wd[N];//用来存储输出的字符 char ab[N];//用来存储所有的字符 bool f[N];//判断这个字符是否背使用过 bool func(char ch[],int len){ int ans = 0,cnt = 0; for(int i=0;i<len;++i){ if(ch[i] == 'a'||ch[i] == 'e'||ch[i] == 'i'||ch[i] == 'o'||ch[i] == 'u'){ ++ans; }else cnt++; } if(ans<1||cnt<2)return 0; else return 1; }//用来判断是否满足题目条件 void dfs(int k,int j){ if(k == m){ if(func(wd,m)){ for(int i=0;i<m;++i){ cout<<wd[i]; }cout<<endl; }