蓝桥杯2737: 蓝桥杯2022年第十三届决赛真题-点亮(Python组)题解

庄子墨 算法基础篇 47 0
挑战自我,勇攀编程高峰!全网最全C++题库,助您成为编程达人。
题目保证给出的数据是合法的,黑色格子周围一定有位置可以放下对应数量的灯泡,且保证所有谜题的解都是唯一的,现在,给出一个初始的棋盘局面,请在上面放置好灯泡,使得整个棋盘上的白色格子被点亮。

小蓝最近迷上了一款名为《点亮》的谜题游戏,游戏在一个 n × n 的格子棋盘上进行,棋盘由黑色和白色两种格子组成,玩家在白色格子上放置灯泡,确保任意两个灯泡不会相互照射,直到整个棋盘上的白色格子都被点亮(每个谜题均为唯一解)。灯泡只会往水平和垂直方向发射光线,照亮整行和整列,除非它的光线被黑色格子挡住。黑色格子上可能有从 0 到 4 的整数数字,表示与其上下左右四个相邻的白色格子共有几个灯泡;也可能没有数字,这表示可以在上下左右四个相邻的白色格子处任意选择几个位置放置灯泡。游戏的目标是选择合适的位置放置灯泡,使得整个棋盘上的白色格子都被照亮。 例如,有一个黑色格子处数字为 4,这表示它周围必须有 4 个灯泡,需要在他的上、下、左、右处分别放置一个灯泡;如果一个黑色格子处数字为 2,它的上下左右相邻格子只有 3 个格子是白色格子,那么需要从这三个白色格子中选择两个来放置灯泡;如果一个黑色格子没有标记数字,且其上下左右相邻格子全是白色格子,那么可以从这 4 个白色格子中任选出 0 至 4 个来放置灯泡。 题目保证给出的数据是合法的,黑色格子周围一定有位置可以放下对应数量的灯泡。且保证所有谜题的解都是唯一的。 现在,给出一个初始的棋盘局面,请在上面放置好灯泡,使得整个棋盘上的白色格子被点亮。

蓝桥杯2737: 蓝桥杯2022年第十三届决赛真题-点亮(Python组)题解
-第1张图片-东莞河马信息技术
(图片来源网络,侵删)
想要在职场中立于不败之地?那就来试试全网最全C++题库,让您在练习中快速提升技能。

标签: 蓝桥杯2737: 蓝桥杯2022年第十三届决赛真题-点亮(Python组)题解