S40207.2-7 点亮矩阵

传统题 时间 1000 ms 内存 256 MiB 3 尝试 0 已通过 0

2-7 点亮矩阵

点亮矩阵

G-10井架的核心室门前,立着一面由25盏灯组成的矩阵。每盏灯有两个状态——亮或灭。触碰一盏灯,会同时翻转它自己和上下左右相邻的灯。

"递推。"你说,"先假设第一行的触碰方式——所有可能性只有32种。然后第二行到第五行就被迫确定了:每一行都必须修正上一行留下的灭灯。"

CC盯着灯矩阵:"第一行……就像最初的选择?"

"对。第一行定了,后面所有行都被迫跟着定。"

"那选错了呢?"

"后面全错。走到最后一步,第五行如果有灭灯,就说明第一行选错了。"

CC沉默了两秒,然后说:"Echo三年前的叛逃……就是第一行的选择?"

没有人回答她。但你知道她是对的。Echo离开Zero的那一刻,决定了之后的一切——Glados的死,CC的激活,你的穿越,现在的战斗。

你敲完递推循环。32种第一行的假设,逐一验证。第17种假设通过——五盏灯全亮,矩阵解体,门开了。

"她没有选错。"你说。

CC看了你一眼,眼神里有某种很深的东西。然后她转过去,检查数据刀:"我也这么想。"


题目描述

5×55 \times 5 的灯——1=亮,0=灭。按一盏灯翻转自身和上下左右。求最少步数全亮。

输入格式

多组。每组5行 5×55 \times 5

输出格式

每组最少步数(>6输出-1)。

输入样例

1
00111
01101
11100
10011
11000

输出样例

-1

提示

  • 枚举第一行所有可能(32种)→ 递推第2-5行(修正上一行灭的灯)→ 检查第五行是否全亮。

门完全打开。核心室内部——一面巨大的全息墙,上面是Echo的第二批碎片坐标,散落在G-10到G-14之间。

但墙角躺着一个人。已经死了。衣服上有Zero的标记。

"Zero的特工。"Echo说,"它在派人守我的碎片。"

CC蹲下来,看了一眼死者的脸。表情变了。她认得他。

她没说话,站起来,走进黑暗。

"CC?"Echo叫她的名字。

"没事。"声音从黑暗里传来,"只是……以前见过。"


递推与递归——第二层防线突破

折叠维度、分解回响、拼合阴影、探查暗哨、重构秩序、追溯街道、点亮矩阵。

Zero的第二层防线——递归网——被突破。但它在派人守Echo的碎片,CC认识其中一个特工。

Echo没有回避她写过的框架。她只是说:"继续吧。"

[下一章:倍增与贪心 —— G-14外围]

在线编程 IDE

建议全屏模式获得最佳体验