#9012. 「第8次PTA认证」电路矩阵最短操作序列 普及+/提高

时间限制:1000 ms 内存限制:256 MiB 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: Wind_Rises

题目描述

你是一名高级电子工程师,负责维护一个老旧的工业控制系统。该系统的核心是一块 的电路矩阵板,每个格子的微型开关(0/1)控制着工厂的机械臂

运作。由于系统老化,开关状态偶尔会错乱,你的任务是通过最少的物理操作将当前状态调整为预设的安全模式。每次操作都会产生微弱电流冲击,因此必须最小化操作

次数以保护设备。操作规范单次操作定义为:用绝缘镊子同时触碰两个相邻开关,使其状态互换,合法操作方向:仅限水平或垂直相邻(对角线交换视为非法操作),能量

约束:连续操作同一对开关将导致双倍能量损耗(系统自动拒绝此类操作)。

输入格式

输入共 行:

行:初始状态,每行 个数字(0或1),数字间无空格

行:目标状态,格式同初始状态

输出格式

行:最短操作步数

样例

样例输入

0101
0000
1111
1010
1111
0000
0000
1111

样例输出

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)交换

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