HBC16518下棋题解 (1*n的棋盘)

前世的深蓝色 结构体及应用 65 0
想要成为编程高手?那就来试试全网最全C++题库,让您在练习中快速成长。
有一个1*n的棋盘,上面有若干个棋子,一个格子上可能有多个棋子, 你每次操作是先选择一个棋子,然后选择以下两个操作中的一个: 若该棋子不在 (1,1),让这个棋子往左走一格,即从 (1,x) 走到 ; 若该棋子不在 (1,n),且这个棋子曾经到达过(1,1),让这个棋子往右走一格,即从 (1,x) 走到 , 给定一开始每个格子上有几个棋子,再给定目标局面每个格子上需要几个棋子,求最少需要多少次操作。

    有一个1*n的棋盘,上面有若干个棋子,一个格子上可能有多个棋子。     你每次操作是先选择一个棋子,然后选择以下两个操作中的一个:     (1) 若该棋子不在 (1,1),让这个棋子往左走一格,即从 (1,x) 走到 (1,x-1);      (2) 若该棋子不在 (1,n),且这个棋子曾经到达过(1,1),让这个棋子往右走一格,即从 (1,x) 走到 (1,x+1)。     给定一开始每个格子上有几个棋子,再给定目标局面每个格子上需要几个棋子,求最少需要多少次操作。

HBC16518下棋题解
(1*n的棋盘)-第1张图片-东莞河马信息技术
(图片来源网络,侵删)

标签: HBC16518下棋题解