站外题求助,悬赏一关
  • 板块灌水区
  • 楼主封禁用户
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/12/14 20:21
  • 上次更新2024/12/14 22:17:13
查看原帖
站外题求助,悬赏一关
1401572
封禁用户楼主2024/12/14 20:21

一行有n个格子,格子有3种状态,空格、红色、绿色,分别用0、1、2表示,例如下面是一个n=5的例子

{1,2,0,1,2}:

现在有2种移动操作:

l 移:空格可以和相邻的颜色交换

l 跳:空格可以和隔一个格子的颜色交换

现在的任务是,使用上面的操作把红色全部移动到最右边,把绿色全部移动到最左边。例如:

现在要求你计算完成任务需要的最少的操作次数是多少。

输入格式

第一行1个正整数n,范围[4,10]。

第二行n个数,都是0、1或2。保证有且只有一个0。

输出格式

一个整数,答案。

输入/输出例子1 输入:

5

1 2 0 1 2

输出:

7

注:题目里的图示操作了8次,不是最优操作。

求C++code!!!

2024/12/14 20:21
加载中...