有一个由n个数字组成的序列,序列的每个数字不是1就是2。如果一个序列是第K完美序列,则这个序列满足以下两点;
1.k是n的因子。
2.这个序列中每隔k个元素都相等。
例如序列(1,2,1,2,1,2,1,2),不仅是一个第2完美序列而且又是一个第4完美序列。序列(1,1,1,1)是一个第1完美序列。
你的任务是给定一个由n个数字组成的序列,最少需要改变几个元素才能使这个序列变成一个第K完美序列。
多组测试数据。
每组测试数据的第一行为两个正整数n,k(1<=k<=n<=100)。
第二行为n个由空格分隔的正整数代表这个序列。
对于每组测试数据,输出最少需要改变的次数。
6
2 2 1 2 2 2 1
8 4
1 1 2 1 1 1 2 1
9 3
2 1 1 1 2 1 1 1 2
1
0
3
这个题目的意思是第一次从第一位开始每隔k个数字都是一样的,第二次从第二位开始每隔k次都是一样的......只需要暴力破解,一次次的遍历,记录下修改次数,最后输出(第一次写没有屁话的题解有点骄傲)
#includeint main(void) { int n,k,a[101],i,m,min,o,z,b[101],index;//数组a用来输入,数组b用来比较,index用来记录修改次数 while(scanf("%d%d",&n,&k)==2) { index=0;//初始化index for(i=0;i =z&&z!=0)//不要忘了z!=0,如果z=0,也就是都是1,也就不需要修改 for(i=m;i o&&o!=0) for(i=m;i