#include
<
stdio.h
>
#define MAX 1000
/*
int test(int *array,int n)
{//返回需要改变的数字的个数.
int i,sum,temp;
sum=0;
temp=*(array);
for (i=1;i<n;i+=2)
{
if (*(array+i) == temp)
{
sum++;
}
if (*(array+i+1) != temp)
{
sum++;
}
}
return sum;
}
*/
int main()
{
int array[MAX],i,n;
int min_number,max_number;
while (scanf( " %d " , & n) != EOF)
{
max_number = 0 ;
for (i = 0 ;i < n;i ++ )
{
scanf( " %d " , & array[i]);
if (i % 2 == 0 )
{
if ( * (array + i) != 0 )
{
max_number ++ ;
}
}
else
{
if ( * (array + i) != 1 )
{
max_number ++ ;
}
}
}
min_number = i - max_number;
if (max_number < min_number)
{
printf( " %d " ,max_number);
}
else
printf( " %d " ,min_number);
}
return 0 ;
}
#define MAX 1000
/*
int test(int *array,int n)
{//返回需要改变的数字的个数.
int i,sum,temp;
sum=0;
temp=*(array);
for (i=1;i<n;i+=2)
{
if (*(array+i) == temp)
{
sum++;
}
if (*(array+i+1) != temp)
{
sum++;
}
}
return sum;
}
*/
int main()
{
int array[MAX],i,n;
int min_number,max_number;
while (scanf( " %d " , & n) != EOF)
{
max_number = 0 ;
for (i = 0 ;i < n;i ++ )
{
scanf( " %d " , & array[i]);
if (i % 2 == 0 )
{
if ( * (array + i) != 0 )
{
max_number ++ ;
}
}
else
{
if ( * (array + i) != 1 )
{
max_number ++ ;
}
}
}
min_number = i - max_number;
if (max_number < min_number)
{
printf( " %d " ,max_number);
}
else
printf( " %d " ,min_number);
}
return 0 ;
}
ps:写这个东西快得很.可是想AC却是需要时间的,做这个也是兴趣,觉得前后代码改动较大的我就贴出来,现在AC了30多一点了,需要努力了.