谷仓的安保

题意就是给你一串英文字母,要求前面比后面要小,还必须至少要有两个辅音,一个元音

这个就是组合型递归枚举的变形了

递归组合型枚举 - 小志61314 - 博客园 (cnblogs.com)看看自己的这个博客

复制代码
#include<iostream>
#include<algorithm>
using namespace std;
const int N=20;
char p[N],v[N];
int yuan,fu;
int n,m;
void dfs(int u,int start)
{
    if(u>m)
    {
        if(yuan>=1&&fu>=2)
        {
            for(int i=1;i<=m;i++)
                cout<<p[i];
            cout<<endl;    
        }
        return ;
    }
    for(int i=start;i<=n;i++)
    {
        p[u]=v[i];
        if(v[i]=='a'||v[i]=='e'||v[i]=='i'||v[i]=='o'||v[i]=='u') yuan++;
        else fu++;
        dfs(u+1,i+1);
        if(v[i]=='a'||v[i]=='e'||v[i]=='i'||v[i]=='o'||v[i]=='u') yuan--;
        else fu--;
    }
}
int main(){
    cin>>m>>n;
    for(int i=1;i<=n;i++) cin>>v[i];
    sort(v+1,v+n+1);
    yuan=0,fu=0;
    dfs(1,1);
    return 0;
} 
/*
组合型枚举
保证后面的字典序>前面
还要保证至少一个元音,至少两个辅音 
*/
复制代码

 

posted @   小志61314  阅读(135)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具
点击右上角即可分享
微信分享提示