昆虫变换问题:求使相邻昆虫种类不同的最少操作次数
昆虫变换问题
问题描述
有 n 只昆虫排成一排,每只昆虫为萤火虫(用 0 表示)或蜜蜂(用 1 表示)。魔术师每次操作可以将一只萤火虫变为蜜蜂,或将一只蜜蜂变为萤火虫。目标是让所有相邻昆虫的种类都不相同,求最少需要的操作次数。

输入格式
第一行:一个整数 n(2 ≤ n ≤ 1000),表示昆虫数量。 第二行:n 个整数(0 或 1),表示初始排列,数字间用空格隔开。
输出格式
一个整数,表示最少需要的操作次数。
样例
输入
6
0 1 1 0 0 1
输出
2
解释
将第 2 只变为 0,第 4 只变为 1的方案是错误的,此时排列变为 0 0 1 1 0 1,仍有相邻相同的情况。正确的修改应该是将第 3 只变为 0,第 4 只变为 1,得到 0 1 0 1 0 1,这样所有相邻昆虫都不同,操作次数为 2。
提示
本题共有 10 组测试用例,每通过一组得 6 分。
本题为编程题,提交代码并运行通过测试点后判分。
正在加载题目数据…
子题
该题型需在试卷/作业中作答,单题练习暂不支持
答案解析