#3646. 激光

激光

题目描述

给定共 nnmm 列的网格,在其中放有 kk 个激光发射器。

每个激光发射器的方向为上下左右其中之一。激光以激光发射器为起点按给定方向延伸,在碰到网格边缘或者另一个激光发射器后停下。

我们认为激光发射器 aa 能够攻击发射器 bb 当且仅当 bb 是从 aa 发出的激光第一个碰到的激光发射器。

现在给定所有发射器的位置和初始方向,问能否改变至多一个发射器的方向使得不存在两个发射器能够互相攻击。

输入格式

本题采用多组测试数据。

11 行一个正整数 TT,表示测试数据的组数。

对于每组数据,第 1133 个正整数 n,m,kn,m,k,分别表示网格的大小以及激光发射器的个数。

接下来 kk 行,每行 22 个整数 x,yx,y,表示发射器的位置(这里 xx, yy 表示从上往下第 xx 行从左往右第 yy 列),以及一个字符 $c\in \{\texttt{L},\texttt{R},\texttt{U},\texttt{D}\}$ 描述这个发射器的初始方向。

输出格式

输出 TT 行,每行输出字符串 Yes\texttt{Yes} 或者 No\texttt{No},表示是否能改变至多一个发射器的方向使得不存在两个相互攻击的发射器。

2
3 3 4 
1 1 R
1 3 L
3 1 R
3 3 L
3 3 4
1 1 R
1 3 L
3 1 R
3 3 U
No
Yes

说明/提示

数据范围

为表述方便,记 KK 为所有测试数据的 kk 之和,N,MN,M 分别为所有测试数据的 n,mn,m 的最大值

子任务 N,MN,M KK 特殊性质 分值
11 100\le 100 1010
22 2×105\le 2\times 10^5 2×105\le 2\times 10^5 4040
33 109\le 10^9 c{L,R}c\in\{\texttt{L},\texttt{R}\} 3030
44 2020

对于 100%100\% 的数据,保证 1N,M1091\le N,M\le 10^91K2×1051\le K\le 2\times10^51xn1\le x\leq n1ym1\le y\le m,$c\in \{\texttt{L},\texttt{R},\texttt{U},\texttt{D}\}$,保证给出的发射器两两位置不相同