问题 B: 飞行员兄弟的冰箱

问题 B: 飞行员兄弟的冰箱

时间限制: 1 Sec  内存限制: 128 MB
提交: 9  解决: 5
[提交] [状态] [讨论版] [命题人:]

题目描述

游戏“飞行员兄弟:跟随有条纹的大象”有玩家需要打开冰箱的任务。
冰箱门上有16个把手。每个把手可以处于以下两种状态之一:打开或关闭。冰箱仅在所有把手打开时才打开。把手表示为矩阵4×4。您可以在任何位置[i,j](1≤i,j≤4)更改句柄的状态。但是,这也会改变第i行所有句柄的状态和第j列所有句柄的状态。
其任务是确定打开冰箱所需的最少手柄开关次数。

输入

输入包含四行。四行中的每一行都包含四个描述适当句柄初始状态的字符。符号“+”表示手柄处于关闭状态,而符号“ - ”表示“打开”。至少有一个手柄最初是关闭的。

输出

输入的第一行包含N - 最小切换次数。其余的N行描述开关顺序。每行包含由一个或多个空格分隔的矩阵的行号和列号。如果有几个解决方案,你可以给他们中的任何一个。

样例输入 Copy

-+--
----
----
-+--

样例输出 Copy

6
1 1
1 3
1 4
4 1
4 3
4 4