题号:NC14118
时间限制:C/C++/Rust/Pascal 2秒,其他语言4秒
空间限制:C/C++/Rust/Pascal 256 M,其他语言512 M
64bit IO Format: %lld
题目描述
最近,无聊的过河船同学发现了一种无聊的迷宫生成算法。
算法过程如下: 一个N * M的矩形区域可以看作N * M个单位网格组成。在每个网格中,随机生成一个从右上角到左下角的L型障碍或者从左上角到右下角的R型障碍(障碍可以被看作一条线段)。

图1:两种障碍
这样便可以生成一个大小为N * M的迷宫,如图2所示。

图2:无聊的迷宫
然后过河船同学想知道,是否存在迷宫内的从迷宫上边界到达迷宫的下边界的路径。于是无聊的过河船同学花了一夜的时间,终于找到一条路径。

图3:过河船同学辛辛苦苦找到的道路
痛苦的过河船同学不想再伤害自己的眼睛,他想直接知道,对于给定的迷宫,是否存在这样的路径。
请注意,路径只能从迷宫内部穿过,除起点和终点外不得离开迷宫区域。
输入描述:
第一行是一个正整数T(≤ 1000),表示测试数据的组数,
对于每组测试数据,
第一行是两个整数N(1≤ N ≤ 100)和M(1 ≤ M ≤ 100),表示迷宫的行数和列数,
接下来N行,每行是一个长为M的只包含'L'和'R'的字符串,'L'表示一个L型障碍,'R'表示一个R型障碍。
输出描述:
对于每组测试数据,如果存在一条可以从迷宫的上边界到达迷宫的下边界的路径,输出"Yes"(不含引号),否则输出"No"(不含引号)。