#290. Bật đèn (LAMP)

Bộ nhớ: 512 MiB Thời gian: 1000 ms Nhập/xuất từ luồng chuẩn
Kiểu bài: Thông thường Kiểu chấm: So sánh văn bản
Đưa lên bởi: Trùm CUỐI

Đề bài

Casper đang thiết kế một mạch điện tử trên một bảng lưới hình chữ nhật kích thước N \times M . Có N \times M ô vuông được xếp thẳng hàng với lưới trên bảng. Hai (trong số bốn) góc đối diện của mỗi ô được nối với nhau bằng một sợi dây.

Nguồn điện được kết nối với góc trên cùng bên trái của bảng. Một bóng đèn được kết nối với góc dưới cùng bên phải của bảng. Đèn chỉ sáng nếu có một đường dẫn dây nối nguồn điện với đèn. Để bật đèn, bất kỳ số lượng ô nào cũng có thể được xoay 90^\circ (theo cả hai hướng). Trong hình trên, đèn đang tắt. Nếu bất kỳ một trong các ô ở cột thứ hai từ bên phải được xoay 90^\circ , nguồn điện và đèn sẽ được kết nối, và đèn sẽ sáng. Viết chương trình tìm số lượng ô tối thiểu phải xoay 90^\circ để bật đèn.

Dữ liệu:

  • Dòng đầu tiên chứa hai số nguyên N M .
  • Trong N dòng tiếp theo, mỗi dòng chứa M ký tự. Mỗi ký tự là \ hoặc /, biểu thị hướng kết nối của dây dẫn trên linh kiện hình vuông đó.

Kết quả:

  • Xuất ra một dòng duy nhất. Nếu có nghiệm, xuất một số nguyên biểu thị số lượng linh kiện tối thiểu cần xoay để nguồn điện nối thông tới bóng đèn. Nếu không có nghiệm, xuất NO SOLUTION.

Ví dụ:

Dữ liệu:

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

Kết quả:

1

Giới hạn:

  • Đối với 40\% số dữ liệu: 1 \le N \le 4, 1 \le M \le 5 .
  • Đối với tất cả dữ liệu: 1 \le N, M \le 500 .