#16121. 电路矩阵最短操作序列

电路矩阵最短操作序列

第五题:电路矩阵最短操作序列

题目描述

你是一名高级电子工程师,负责维护一个老旧的工业控制系统。该系统的核心是一块 4×44 \times 4 的电路矩阵板,每个格子的微型开关(0/1)控制着工厂的机械臂运作。由于系统老化,开关状态偶尔会错乱,你的任务是通过最少的物理操作将当前状态调整为预设的安全模式。每次操作都会产生微弱电流冲击,因此必须最小化操作次数以保护设备。

操作规范:单次操作定义为用绝缘镊子同时触碰两个相邻开关,使其状态互换。合法操作方向:仅限水平或垂直相邻(对角线交换视为非法操作)。能量约束:连续操作同一对开关将导致双倍能量损耗(系统自动拒绝此类操作)。

输入格式

输入共 8 行: 前 4 行:初始状态,每行 4 个数字(0 或 1),数字间无空格。 后 4 行:目标状态,格式同初始状态。

输出格式

第 1 行:最短操作步数 nn

输入输出样例 #1

输入 #1

0101
0000
1111
1010
1111
0000
0000
1111

输出 #1

6

说明/提示

假设(左上角坐标为 (1,1),右下角坐标为 (4,4))经过以下步数可以最短实现目标状态:

1、(3,1)和(2,1)交换

2、(2,1)和(1,1)交换

3、(3,2)和(4,2)交换

4、(3,3)和(2,3)交换

5、(2,3)和(1,3)交换

6、(3,4)和(4,4)交换

一共经过六次可最短实现目标状态。