#P4667. [BalticOI 2011 Day1] Switch the Lamp On 电路维修
[BalticOI 2011 Day1] Switch the Lamp On 电路维修
题目描述
Casper is designing an electronic circuit on a rectangular grid plate. There are square tiles that are aligned to the grid on the plate. Two (out of four) opposite corners of each tile are connected by a wire.
A power source is connected to the top left corner of the plate. A lamp is connected to the bottom right corner of the plate. The lamp is on only if there is a path of wires connecting power source to lamp. In order to switch the lamp on, any number of tiles can be turned by 90° (in both directions).
In the picture above the lamp is off. If any one of the tiles in the second column from the right is turned by 90° , power source and lamp get connected, and the lamp is on.
Write a program to find out the minimal number of tiles that have to be turned by 90° to switch the lamp on.
输入格式
The first line of input contains two integer numbers and , the dimensions of the plate. In each of the following lines there are symbols – either \ or / – which indicate the direction of the wire connecting the opposite vertices of the corresponding tile.
输出格式
There must be exactly one line of output. If it is possible to switch the lamp on, this line must contain only one integer number: the minimal number of tiles that have to be turned to switch on the lamp. If it is not possible, output the string: NO SOLUTION
题目大意
题目描述
Casper 正在设计电路。有一种正方形的电路元件,在它的两组相对顶点中,有一组会用导线连接起来,另一组则不会。有 个这样的元件,你想将其排列成 行,每行 个。 电源连接到板的左上角。灯连接到板的右下角。只有在电源和灯之间有一条电线连接的情况下,灯才会亮着。为了打开灯,任何数量的电路元件都可以转动 90°(两个方向)。
在上面的图片中,灯是关着的。如果右边的第二列的任何一个电路元件被旋转 90°,电源和灯都会连接,灯被打开。现在请你编写一个程序,求出最小需要多少旋转多少电路元件。
输入输出格式
输入格式
输入的第一行包含两个整数 和 ,表示盘子的尺寸。 在以下 行中,每一行有 个符号 \
或 /
,表示连接对应电路元件对角线的导线的方向。
输出格式:
如果可以打开灯,那么输出只包含一个整数,表示最少转动电路元件的数量。
如果不可能打开灯,输出 NO SOLUTION
。
3 5
\\/\\
\\///
/\\\\
1
提示
对于 的数据,,。
对于所有数据,。