翻转游戏是在一个长方形的4x4场地上进行的,16个方格中的每一个都有双面棋子。每件作品的一面是白色的,另一面是黑色的,每件作品要么是黑色的一面,要么是白色的一面朝上。每一轮你翻转3到5块,从而将它们上侧的颜色从黑色变为白色,反之亦然。每轮翻转的棋子都是根据以下规则选择的:
从16件作品中任选一件。
将所选片段以及所有相邻片段翻转到所选片段的左侧、右侧、顶部和底部(如果有的话)。
以以下位置为例:
bwbw
wwww
bbwb
bwwb
这里的“b”表示黑色面朝上的棋子,“w”表示白色面朝上的曲子。如果我们选择从第三行翻转第一块(此选项如图所示),则字段将变为:
bwbw
bwww
wwwb
wwwb
游戏的目标是将所有棋子的白色面朝上或黑色面朝上翻转。您需要编写一个程序,搜索实现此目标所需的最小轮次数。