题目
根据题目可知这是一道 枚举便可以解决的题
解题
思路:
对存入的数便利一遍如果颜色相同那么继续执行便可 如果不同那么以k来进行变化知道没有不同的颜色 记录下一共变化了多少次在60中选择中选择一个最小的便可
代码:
#include<bits/stdc++.h>
using namespace std;
void seve(){
int j,i,n,k,minx=1e10,a[100000];
cin >> n >> k;
for(i=0;i<n;i++)
cin >> a[i];
for(i=1;i<=60;i++){
int t=0;
for(j=0;j<n;j++){
if(a[j]==i) continue;
else{
j+=k-1;
t++;
}
}
minx=min(minx,t);
}
cout << minx << "\n";
}
int main(){
int t;
cin >>t;
while(t--){
seve();
}
}