#7093. 争夺曼德尔超算

争夺曼德尔超算

Background

在三角洲特种部队的绝密基地 809809 的深处,一座代号为“大保险” Delta(Delta VaultVault) 的量子加密保险柜静静矗立。它不仅是全球最安全的存储装置,更是封存着足以颠覆战争格局的科技材料——曼德尔超算。

此刻,警报声骤然响起:大保险的16层动态密码锁被未知势力触发,部分锁扣进入锁定状态(+。若不在限定时间内将所有锁扣解锁(-),保险柜将启动自毁程序,曼德尔超算将永远消失,甚至可能引发全球性灾难。

作为三角洲最顶尖的密码破解专家,你被紧急召入基地。

你的任务:在最短时间内,通过精准操作破解所有锁扣,阻止自毁程序,夺取曼德尔超算!

Description

  1. 密码锁结构:

    • 大保险的密码锁由4×4$矩阵1616 个锁扣组成,每个锁扣初始状态为 +(锁定)或 -(解锁)。
    • 初始状态:至少有一个锁扣是 +(否则无需行动)。
  2. 破解操作:

    • 每次可选择一个锁扣 (i,j)(i, j) ,第 ii 行和第 jj 列全部破解切换

      破解切换:

      • +-(解锁)

      • -+(重新锁定)

      • 例如:破解 [1, 1] 会影响第 11 行和第 11 列的所有破解切换(包括 [1, 1] 自身)。

    • 目标:通过最少操作次数,将所有锁扣切换为-

任务目标

  1. 最小化操作次数,将所有锁扣切换至-
  2. 输出规范:
    • 第一行:整数 N(最小操作次数)。
    • 接下来 N 行:每行两个整数 i j(破解顺序,按优先级从上到下、从左到右)。

Format

Input

+- 组成 4×44 \times 4 的矩阵

Output

第一行:整数 N(最小操作次数)。 接下来 N 行:每行两个整数 i j(破解顺序,按优先级从上到下、从左到右)。

Samples

-+--
----
----
-+--
6
1 1
1 3
1 4
4 1
4 3
4 4

Limitation

1s, 1024KiB for each test case.