Loading

题解:AT_pakencamp_2024_day1_b Pakencamp

水题。
首先算出所有字符的个数,然后求出题目当中所给的每个字符分别需要几套,并取最大值即可。注意如果出现不是题目当中所给的字符,需要输出 \(-1\)

#include<bits/stdc++.h>
using namespace std;
int n,ans;
string s;
map<char,int>mp;
int main(){
    cin >> n >> s;
    for(int i=0;i<s.size();++i){
        if(s[i]!='P'&&s[i]!='A'&&s[i]!='K'&&s[i]!='E'&&s[i]!='N'&&s[i]!='C'&&s[i]!='M')return !printf("-1");
        mp[s[i]]++;
    }
    ans=max(ans,(int)ceil(mp['P']*1.0/2));
    ans=max(ans,(int)ceil(mp['A']*1.0/2));
    ans=max(ans,mp['K']);
    ans=max(ans,mp['E']);
    ans=max(ans,mp['N']);
    ans=max(ans,mp['C']);
    ans=max(ans,mp['M']);
    printf("%d",ans);
    return 0;
}
posted @ 2026-05-07 19:25  heffo_hard  阅读(4)  评论(0)    收藏  举报