ABC249 C – Just K

2023.3.19 AM 10:30 by CBJ

遞迴枚舉

//C++ language

#include<iostream>
#include<vector>
using namespace std;
vector<string>v;
int n,k,ans=0,choose[15]={0};
void solve(int x){
    if(x==n){
        int cnt['z'+1]={0};
        for(int i=0;i<n;i++){
            if(choose[i]){
               for(char c:v[i]) cnt[c]++;
            }
        }
        int tmp=0;
        for(int i='a';i<='z';i++){
            if(cnt[i]==k) tmp++;
        }
        ans=max(ans,tmp);
        return;
    }
    choose[x]=1;
    solve(x+1);
    choose[x]=0;
    solve(x+1);
}
int main(){
    cin>>n>>k;
    for(int i=0;i<n;i++){
        string s; cin>>s;
        v.push_back(s);
    }
    solve(0);
    cout<<ans<<"\n";
    return 0;
}

相關文章

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *