#P2965. The Pilots Brothers' refrigerator

    ID: 1966 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>搜索DFS其他Northeastern Europe 2004Western Subregion

The Pilots Brothers' refrigerator

题目描述

游戏《飞行员兄弟:条纹大象的追随》中有一个任务,玩家需要打开一个冰箱门。冰箱门上有16个把手,每个把手有两种状态:打开(open)关闭(closed)。只有当所有把手都处于打开状态时,冰箱门才会打开。这些把手排列成一个4×4的矩阵。玩家可以选择任意一个位置[i, j](其中1 ≤ i, j ≤4)进行操作,但每次操作不仅会改变该位置的把手状态,还会同时改变该行i和该列j的所有把手的状态。

任务目标

计算并输出使冰箱门完全打开所需的最少操作次数,并给出具体的操作步骤(即每次操作的坐标[i,j])。

输入格式

输入包含四行,每行四个字符,分别表示初始状态下冰箱门把手的开闭情况:

  • +:表示该把手处于关闭(closed) 状态。
  • -:表示该把手处于打开(open) 状态。
    (输入保证至少有一个把手初始是关闭的。)

输出格式

  • 第一行:输出一个整数N,表示最少需要的操作次数。
  • 接下来的N行:每行输出两个整数i j(用空格分隔),表示每次操作的坐标(行列编号)。如果有多个解,输出任意一个即可。

示例输入

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

示例输出

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

题目来源

2004年东北欧地区赛(西部赛区)