彩色气球 题目描述: 将 n 个气球排成一行,其中每个气球的颜色用数字表示,1 表示红色,2 表示绿色,3 表示蓝色。我们需要移除一些气球,使得任意相邻的两个气球颜色都不同。请计算最少需要移除多少个气球。 例如:n = 8,8 个气球的颜色依次为 1,1,1,3,2,2,3,1。 最少需要移除 3 个气球,可以使得任意相邻的两个气球颜色都不同,其中一种方案: 移除第 2 个、第 3 个和第 6 个气球。 移除后气球颜色依次为 1,3,2,3,1。 输入描述: 第一行输入一个整数 n(1≤n≤5000),表示气球的数量; 第二行输入 n 个整数(1≤整数≤3),依次表示这一行气球的颜色,红色为 1,绿色为 2,蓝色为 3,整数 之间以一个空格隔开。 输出描述: 输出一个整数,表示最少需要移除的气球数量。 样例输入: 8 1 1 1 3 2 2 3 1 样例输出: 3
正确答案:参考程序(Python):n=int(input());a=list(map(int,input().split()));cnt=0;for i in range(1,n):if a[i]==a[i-1]:cnt+=1;print(cnt)。样例→3。核心:相邻同色移除计数。
试卷来源:202412(第16届)蓝桥杯C++编程青少组(选拔赛_中高级)真题