SP27520 LAS - Laser

题目描述

在一个由 **n** 行 **m** 列的小方格组成的网格中,有且仅有一个方格上放置了激光器,另一个不同的方格上放置了传感器。激光器从其所在方格的中心向四个方向之一(北、南、东或西)发射一束光。某些方格会阻挡光线,因此光线无法穿过这些方格。(放置激光器的方格也算作阻挡方格)。 你手头有一些双面镜子,可以将它们安装在方格的中心,以两种 45 度角方式之一设置。这样的镜子会使光线发生反射,改为垂直方向前进。 你的任务是通过布置尽可能少的镜子,将光线引导到传感器处。

输入格式

第一行输入一个整数 **t**,表示测试用例数。接下来是每个测试用例的详细信息。 每个测试用例首先输入两个整数 **n** 和 **m** (1 ≤ **n**, **m** ≤ 200),分别表示网格的行数和列数。接下来是 **n** 行输入,每行有 **m** 个字符。第 **i** 行的第 **j** 个字符描述了网格中第 **i** 行第 **j** 列的方格。`.`(点号)代表空方格,`#` 代表阻挡方格。网格中恰好会有一个激光器,用 ``, `v` 或 `^` 表示,指示激光器的发射方向。传感器位置由 `C` 表示。输入行中不会出现其他字符。

输出格式

对于每个测试用例,输出 **n** 行,每行包含 **m** 个字符,表示镜子布置后的网格状态。镜子用 `\` 和 `/` 表示。你应确保光线能够到达传感器,并且使用镜子尽可能少。此外,镜子不能放置在阻挡方格、激光器所在方格或传感器所在方格上。请注意,总有一种方案能使光线到达传感器。 **本翻译由 AI 自动生成**