费解的开关

简介: 你玩过“拉灯”游戏吗?

你玩过“拉灯”游戏吗?


2525 盏灯排成一个 5×55×5 的方形。


每一个灯都有一个开关,游戏者可以改变它的状态。


每一步,游戏者可以改变某一个灯的状态。


游戏者改变一个灯的状态会产生连锁反应:和这个灯上下左右相邻的灯也要相应地改变其状态。


我们用数字 11 表示一盏开着的灯,用数字 00 表示关着的灯。


下面这种状态


10111

01101

10111

10000

11011

在改变了最左上角的灯的状态后将变成:


01111

11101

10111

10000

11011

再改变它正中间的灯后状态将变成:


01111

11001

11001

10100

11011

给定一些游戏的初始状态,编写程序判断游戏者是否可能在 66 步以内使所有的灯都变亮。


输入格式


第一行输入正整数 nn,代表数据中共有 nn 个待解决的游戏初始状态。


以下若干行数据分为 nn 组,每组数据有 55 行,每行 55 个字符。


每组数据描述了一个游戏的初始状态。


各组数据间用一个空行分隔。


输出格式


一共输出 nn 行数据,每行有一个小于等于 66 的整数,它表示对于输入数据中对应的游戏状态最少需要几步才能使所有灯变亮。


对于某一个游戏初始状态,若 66 步以内无法使所有灯变亮,则输出 −1−1。


数据范围


0<n≤5000<n≤500


输入样例:


3

00111

01011

10001

11010

11100

11101

11101

11110

11111

11111

01111

11111

11111

11111

11111

输出样例:


3

2

-1


相关文章
|
调度
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
718 0
MacBookPro外接显示器程序全屏状态,另一个显示器就黑屏
|
3月前
|
API C# 开发工具
使用C#实现客厅电灯的开关
使用C#实现客厅电灯的开关
27 0
|
8月前
|
弹性计算 运维 Shell
显示进度条(回旋镖版)
【4月更文挑战第29天】
44 0
|
算法
费解的开关/翻硬币
费解的开关/翻硬币
129 0
|
存储 运维 监控
一个开关就让服务网格变快 —— 概述篇
作为业内首个全托管Istio兼容的阿里云服务网格产品ASM,一开始从架构上就保持了与社区、业界趋势的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立。ASM产品是基于社区Istio定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力。通过托管模式,解耦了Istio组件与所管理的K8s集群的生命周期管理,使得架构更加灵活,提升了系统的可伸缩性。从2022年4月
一个开关就让服务网格变快 —— 概述篇
|
前端开发
前端学习笔记202303学习笔记第五天-状态列渲染为switch开关
前端学习笔记202303学习笔记第五天-状态列渲染为switch开关
59 0
labview布尔型数据开关控制指示灯比较数值颜色变化条件判断
labview布尔型数据开关控制指示灯比较数值颜色变化条件判断
705 0
|
Kubernetes 监控 安全
一个开关就让服务网格变快——实验篇
作为业内首个全托管Istio兼容的阿里云服务网格产品ASM,一开始从架构上就保持了与社区、业界趋势的一致性,控制平面的组件托管在阿里云侧,与数据面侧的用户集群独立。ASM产品是基于社区Istio定制实现的,在托管的控制面侧提供了用于支撑精细化的流量管理和安全管理的组件能力。通过托管模式,解耦了Istio组件与所管理的K8s集群的生命周期管理,使得架构更加灵活,提升了系统的可伸缩性。从2022年4月
一个开关就让服务网格变快——实验篇
费解的开关笔记
费解的开关笔记
74 0
枚举时对数组操——三刷AcWing 95. 费解的开关
枚举时对数组操——三刷AcWing 95. 费解的开关
72 0