编程题
### 问题描述 小蓝今天过生日,他想叫一些朋友来陪他一起过生日。小蓝家所处的地形我们可以看作是一个平面直角坐标系,不过这个坐标系有一些特殊,它是有范围的,坐标系左上角的点为 $(-10^5,10^5)$,右下角的点为 $(10^5,-10^5)$,左下角的点为 $(-10^5,-10^5)$,右上角的点为 $(10^5,10^5)$,小蓝家位置的坐标为 $(x , y)$ 。 现在小蓝有 $n$ 个朋友,都住在不同的地方,由于道路的修建有一些问题,导致朋友们只能走上,下,左,右其中某些方向。请你帮小蓝判断一下,小蓝的朋友们是否都能到达小蓝家。**如果可以,直接输出 `YES` 和小蓝家地址即可。**如果不能,请你帮小蓝选一个新的聚会地址,使得所有朋友都能到达小蓝家。如果地图上不存在该位置,则输出 `-1`。 注:小蓝可以选择任意一个位置作为新的聚会地址,同时如果有多个合适的聚会地址,小蓝会优先选择坐标系中 **最左上角的**。 我们规定,输入 'U' 代表可以向上走,输入 'D' 代表可以向下走,输入 'L' 代表可以向左走,输入 'R' 代表可以向右走,输入'N' 代表无效(不能走上下左右任何方向之一)。 ### 输入格式 第一行输入一个正整数 $T$ ,表示测试案例的个数。 对于每组测试数据: 第一行输入三个数 $n,x,y$,分别表示小蓝的朋友数量,以及小蓝家的坐标,保证 $n$ 大于 $0$ 。 接下来 $n$ 行,每行四个字母(可以重复输入同一个字母),表示该朋友可以行走的方向,然后是两个整数 $a,b$,表示该朋友的初始位置。 ### 输出格式 对于每个问题,如果满足题意,输出两行,第一行为 `YES` ,第二行为满足条件的坐标。如果不满足题意,则输出一行,为 `-1`。 ### 样例输入1 ```text 1 4 2 3 U L D N 3 2 U R D N 1 3 U R L N 1 2 L R D N 3 4 ``` ### 样例输出1 ```text YES 2 3 ``` ### 样例输入2 ``` 3 2 -90835 -72123 L N U N -74994 -71093 U R N U -85772 -77000 5 -97931 -80475 R L U R -71853 -84509 N D U D -74156 -83165 R U U L -80833 -78501 D L R U -73389 -70934 N R R N -77660 -71926 2 -90835 72123 L N U N -7 -8 L N U U -9 -10 ``` ### 样例输出2 ``` YES -85772 100000 YES -74156 -71926 YES -90835 72123 ``` ### 说明 对于第一个样例: 第一个朋友能走的范围: ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1664054-20231012-1697076222759) 第一个朋友和第二个朋友能走的范围交集:(橙黄色部分是交集,绿色部分是第二个朋友能走的范围)。 ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1664054-20231012-1697076320731) 前三个朋友的公共范围:(紫色部分为三个朋友能走的交集)。 ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1664054-20231012-1697076427175) 最终的公共范围:(蓝色部分)。 ![图片描述](https://dn-simplecloud.shiyanlou.com/questions/uid1664054-20231012-1697076596358) 发现 $(2,3)$ 在 $4$ 个矩形的公共区域内,因此直接输出 $(2,3)$ 即可。 也就是说本题给定了你一些矩形,你需要求出这些矩形的交集部分,并按照题目要求作出判断。 ### 评测数据规模 $1\leq T\leq 10^{3},1\leq n \leq 10^{3},-10^{5}\leq x,y \leq 10^{5},-10^{5}\leq x, y \leq 10^{5}$。
查看答案
赣ICP备20007335号-2