信息学奥赛一本通T1448:深搜的剪枝技巧 电路维修

该博客介绍了信息学奥赛中关于电路维修的问题,即如何在正方形电路元件组成的电路板上通过旋转元件使电源与灯泡连通。文章详细阐述了问题的解决思路,包括条件判断、建图、字符转换、BFS搜索和剪枝技巧,以及使用双端队列优化搜索过程。
摘要由CSDN通过智能技术生成

信息学奥赛一本通T1448:电路维修

【题目描述】

译自 BalticOI 2011 Day1 T3「Switch the Lamp On」

有一种正方形的电路元件,在它的两组相对顶点中,有一组会用导线连接起来,另一组则不会。

有 N×M 个这样的元件,你想将其排列成 N 行 M 列放在电路板上。电路板的左上角连接电源,右下角连接灯泡。

试求:至少要旋转多少个正方形元件才能让电源与灯泡连通,若无解则输出 NO SOLUTION。

​编辑

【输入】

有多组测试数据。

第一行为测试数据组数,以下每组测试数据描述为:

第一行有两个整数 N 和 M。

在接下来的 N 行中,每行有 M 个字符。每个字符均为 "\" 或 "/",表示正方形元件上导线的连接方向。

【输出】

每组测试数据输出描述:

输出共一行,若有解则输出一个整数,表示至少要旋转多少个正方形元件才能让电源与灯泡连通;若无解则输出 NO SOLUTION。

【输入样例】

1
3 5
\\/\\
\\///
/\\\\

【输出样例】

1

思路:

问题的关键在于思维的转换,首先,由于从左上到右下走的是对角线,因此,仅当 (n+m)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值