CF1966A.Card Exchange
入门
通过率:0%
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
你有 n 张牌,每张牌上都写有一个数字,还有一个固定的整数 k。你可以进行如下操作任意次:
- 从手中选择任意 k 张数字相同的牌。
- 用这 k 张牌换取 k−1 张任意数字的牌(这些牌的数字可以是你刚刚换掉的数字,也可以是其他任意数字)。
下面是第一个样例(k=3)的一种可能的操作序列:

在这个过程中,你手中最后能剩下的最少牌数是多少?
输入格式
输入的第一行包含一个整数 t(1≤t≤500),表示测试用例的数量。接下来是每个测试用例的描述。
每个测试用例的第一行包含两个整数 n 和 k(1≤n≤100,2≤k≤100),分别表示你拥有的牌的数量和每次操作需要交换的牌数。
每个测试用例的第二行包含 n 个整数 c1,c2,…,cn(1≤ci≤100),表示每张牌上写的数字。
输出格式
对于每个测试用例,输出一个整数,表示经过任意次数的操作后,你手中最少能剩下多少张牌。
输入输出样例
输入#1
7 5 3 4 1 1 4 4 1 10 7 7 2 4 2 1 100 5 2 3 10 4 1 1 1 1 1 1 1 1 1 1 5 2 3 8 1 48 7 6 2 10 20 30 10 20 40 6 3 10 20 30 10 20 40
输出#1
2 1 1 3 5 1 6
说明/提示
第一个样例对应上图。图中展示的操作序列是最优的,因此答案是 2。
第二个样例中,无法进行任何操作,所以答案是 1。
第四个样例中,你可以不断选择 4 张数字为 1 的牌,并将它们换成 3 张数字为 1 的牌,直到只剩下 3 张牌为止。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?