#P4667. [BalticOI 2011] Switch the Lamp On 电路维修 (Day1)

    ID: 3610 远端评测题 150ms 125MiB 尝试: 0 已通过: 0 难度: 6 上传者: 标签>2011线段树优先队列最短路BalticOI

[BalticOI 2011] Switch the Lamp On 电路维修 (Day1)

Description

Casper 在一个 N×MN\times M 的电路板上设计电路。有一种正方形的电路元件,在它的两组相对顶点中,有一组会用导线连接起来,另一组则不会。有 N×MN\times M 个这样的元件,你想将其排列成 NN 行,每行 MM 个。 电源连接到板的左上角。灯连接到板的右下角。只有在电源和灯之间有一条电线连接的情况下,灯才会亮着。为了打开灯,任何数量的电路元件都可以转动 90°(两个方向)。

在上面的图片中,灯是关着的。如果从右往左数第二列的任何一个电路元件被旋转 90°,电源和灯都会连接,灯被打开。现在请你编写一个程序,求出最小需要旋转多少电路元件。

Input Format

输入的第一行包含两个整数 NNMM,表示电路板的尺寸。 在以下 NN 行中,每一行有 MM 个符号 \/,表示连接对应电路元件对角线的导线的方向。

Output Format

如果可以打开灯,那么输出只包含一个整数,表示最少转动电路元件的数量。

如果不可能打开灯,输出 NO SOLUTION

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

Hint

对于 40%40\% 的数据,1N41 \le N \le 41M51 \le M \le 5

对于所有数据,1N,M5001 \le N,M \le 500