1 条题解
-
0
C++ :
#include <bits/stdc++.h> using namespace std; int n,m,x; char a[30]; int b[30]={0}; bool check(){ int aa=0,bb=0; for(int i=1;i<=n;i++){ if(a[b[i]]=='a'||a[b[i]]=='o'||a[b[i]]=='e'||a[b[i]]=='i'||a[b[i]]=='u')aa++; else bb++; } return aa>=1&&bb>=2; } void dfs(int dep,int l){ if(dep>n){ if(check()) { x++; for(int i=1;i<=n;i++){ cout<<a[b[i]]; if(x==25000) exit(0); } cout<<endl; } return; } for(int i=l+1;i<=m;i++){ b[dep]=i; dfs(dep+1,i); } } int main() { scanf("%d%d",&n,&m); for(int i=1;i<=m;i++){ cin>>a[i]; } sort(a+1,a+m+1); dfs(1,0); return 0; }
- 1
信息
- ID
- 742
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 10
- 标签
- 递交数
- 2
- 已通过
- 1
- 上传者