//找出最大替换数max,比较最大替换数max和n进行对应输出 //考虑中间元素,连续三个0可以把中间的0替换为1,并max++ //考虑metrik[0],如果metrik[0]==0且metrik[1]==0,metrik[0]可以替换为1,并max++ //考虑metrik[m-1](最后一个元素),metrix[m-1-1]==0且metrix[m-1]==0,metrix[m-1]可以替换为1,并max++ #include <stdio.h> int main() { int m, n, max = 0; scanf("%d", &m); int metrix[m]; for(int i=0; i<m; i++){ scanf("%d", &metrix[i]); } scanf("%d", &n);//基础读取输入 int k = 0; if(metrix[k]==0 && metrix[k+1] == 0){//考虑metrik[0] metrix[k] = 1; max++; } for(int j=1; j<m-1; j++){//考虑中间元素 if(metrix[j-1]==0 && metrix[j]==0 && metrix[j+1] == 0){ metrix[j] = 1; max++; } } k = m - 1;//考虑metrik[m-1](最后一个元素) if(metrix[k-1]==0 && metrix[k]==0){ metrix[k] = 1; max++; } if(n <= max){//比较最大替换数max和n printf("true"); } else{ printf("false"); } return 0; }