问题 2160 --电路维修

2160: 电路维修★★★★

时间限制: 1 Sec  内存限制: 128 MB
提交: 116  解决: 59
[提交][状态][命题人:]

题目描述

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

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

输入

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

输出

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

样例输入
Copy
3 5
\\/\\
\\///
/\\\\
样例输出
Copy
1

提示

对于 40\%40% 的数据,1 \le N \le 4,1 \le M \le 51N4,1M5。对于所有数据,1 \le N,M \le 5001N,M500

来源

 

[提交][状态]