欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

统计字符的个数,能够组成几个acmicpc

程序员文章站 2022-10-04 14:33:40
Problem F. String Input file: standard input Output file: standard output Time limit: 1 seconds Memory limit: 128 megabytes 大家都知道马大佬很皮 马大佬很喜欢 ICPC,马大佬 ......

problem f. string

input file:                  standard input

output file:               standard output

time limit:                1 seconds memory limit:          128 megabytes

 

大家都知道马大佬很皮

马大佬很喜欢 icpc,马大佬现在手里有 n 块积木,每一个积木是 a 到 z,26 个英文字母 中的一个,现在马大佬想用这些积木组成尽可能多的  acmicpc,问你能组成多少个

input

输入第一行一个整数 t,代表接下来有 t 组测试数据 接下来 t 行,每一行先输入一个整数 n,代表积木的数量

接下来输入一个长度为 n 的字符串,代表每一个积木的英文字母 数据保证只有小写字母

1 <= t <= 10,1 <= n <= 100000

output

对于每一组测试数据,输出对应答案

example

 

standard input

standard output

1

8

aacmicpc

1

#include<iostream>
#include<cmath>
#include<cstring>
#define n 100000
using namespace std;

int main()
{
    char str[n];
    int t;
    cin >> t;
    while(t--)
    {
        int n;
        int num;
        int a = 0,c = 0,i = 0,m = 0,p = 0,flag = 0;
        cin >> n >> str;
        for(int j = 0;j < n;j++)
        {
            if(str[j] == 'a')
                a++;
            if(str[j] == 'c')
                c++;
            if(str[j] == 'i')
                i++; 
            if(str[j] == 'm')
                m++;
            if(str[j] == 'p')
                p++;    
        }
        num = min(a,i);
        num = min(num,m);
        num = min(num,p);
        num = min(num,c/3);
//        cout << a << " " << c << " " << i << " " << m << " " << p << endl;
        cout << num << endl;
    }
    return 0;
}