A. Problem Generator

time limit per test

1 second

memory limit per test

256 megabytes

input

standard input

output

standard output

Vlad is planning to hold m𝑚 rounds next month. Each round should contain one problem of difficulty levels 'A', 'B', 'C', 'D', 'E', 'F', and 'G'.

Vlad already has a bank of n𝑛 problems, where the i𝑖-th problem has a difficulty level of ai𝑎𝑖. There may not be enough of these problems, so he may have to come up with a few more problems.

Vlad wants to come up with as few problems as possible, so he asks you to find the minimum number of problems he needs to come up with in order to hold m𝑚 rounds.

For example, if m=1𝑚=1, n=10𝑛=10, a=𝑎= 'BGECDCBDED', then he needs to come up with two problems: one of difficulty level 'A' and one of difficulty level 'F'.

Input

The first line contains a single integer t𝑡 (1≤t≤10001≤𝑡≤1000) --- the number of test cases.

The first line of each test case contains two integers n𝑛 and m𝑚 (1≤n≤501≤𝑛≤50, 1≤m≤51≤𝑚≤5) --- the number of problems in the bank and the number of upcoming rounds, respectively.

The second line of each test case contains a string a𝑎 of n𝑛 characters from 'A' to 'G' --- the difficulties of the problems in the bank.

Output

For each test case, output a single integer --- the minimum number of problems that need to come up with to hold m𝑚 rounds.

Example

input

Copy

复制代码

3

10 1

BGECDCBDED

10 2

BGECDCBDED

9 1

BBCDEFFGG

output

Copy

复制代码
2
5
1

解题说明:此题是一道模拟器,因为每一轮都必须要出现A-G这几个字母,所以直接统计当前已出现的字母,然后判断每一轮中是否漏字母即可,最后求和。

cpp 复制代码
#include<stdio.h>

int main()
{
	int test;
	scanf("%d", &test);
	while (test--)
	{
		int a;
		int temp[7] = { 0 };
		int b;
		scanf("%d%d", &a, &b);
		char t[55];
		scanf(" %s", t);
		for (int i = 0; i < a; i++)
		{
			temp[t[i] - 65]++;
		}
		int count = 0;
		for (int i = 0; i < 7; i++)
		{
			if ((temp[i]) < b)
			{
				count += (b - (temp[i]));
			}
		}
		printf("%d\n", count);
	}
	return 0;
}
相关推荐
顺顺 尼1 小时前
linux 进程信号(上)
linux·c++·算法
罗西的思考1 小时前
[Agent Memory / 强化学习] MemPO源码学习笔记 ---(5)--- GRPO
人工智能·算法·机器学习
richard_yuu2 小时前
动态规划:强化学习的「数学基础」,从 MDP 到值迭代
深度学习·神经网络·算法·yolo·机器学习·动态规划
mmmmath_32 小时前
LeetCode.225.用队列实现栈
算法
Elaine3362 小时前
数据结构与算法-程序
数据结构·python·算法·计算机基础·编程基础
2601_965742222 小时前
布局GEO AI本地营销,我重点看这几个细节
大数据·人工智能·算法·ai·新媒体运营
EatFan2 小时前
AI Agent 上生产前先加三道闸门:审批、限权、可回放的工程实践
人工智能·python·算法·多智能体·ai agent·mcp·harness
思茂信息2 小时前
CST软件BCI仿真模型及仿真案例
开发语言·单片机·嵌入式硬件·算法·emc
Persistent的粽子!3 小时前
双指针算法:最大盛水容器
c++·算法·leetcode
hold?fish:palm3 小时前
44 二叉搜索树中第K小的元素
开发语言·c++·算法